【发布时间】:2021-05-20 18:35:58
【问题描述】:
所有上传示例都显示在以编程方式创建上传时使用 NativeButton。我想使用作为设计器布局一部分的按钮(vaadin 按钮)。当我尝试这个时,我看到以下错误:
Caused by: java.lang.IllegalArgumentException: Trying to detach an element from parent that does not have it.
at com.vaadin.flow.dom.impl.AbstractNodeStateProvider.removeChild(AbstractNodeStateProvider.java:123)
at com.vaadin.flow.dom.Node.removeChild(Node.java:376)
at com.vaadin.flow.dom.Element.removeFromParent(Element.java:577)
at com.vaadin.flow.dom.Node.insertChild(Node.java:293)
at com.vaadin.flow.dom.Node.appendChild(Node.java:141)
at com.vaadin.flow.component.upload.GeneratedVaadinUpload.addToAddButton(GeneratedVaadinUpload.java:1344)
at com.vaadin.flow.component.upload.Upload.setUploadButton(Upload.java:276)
我们在 CDI 模式下使用 Vaadin 14。
【问题讨论】:
-
你能提供更多的上下文(代码)吗?作为一个健全的检查,我尝试使用 14.6.1 的 Custom components upload 示例,并且只是将
NativeButton交换为Button在那个有限的示例中工作正常。我可能不太了解你的情况。 -
如果我以编程方式创建 vaadin 按钮,它可以工作,但如果按钮是由设计器在 .js 文件中创建的,则不能。
标签: vaadin vaadin-flow vaadin14 vaadin-designer