1

在以编程方式创建上传时,所有上传示例都使用 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。

4

2 回答 2

2

使用 Designer 更改上传按钮,需要将按钮拖到层次结构中的上传中,然后添加 slot="add-button" 属性。

您的模板最终应如下所示:

<vaadin-upload>
 <vaadin-button slot="add-button">
   Button 
 </vaadin-button>
</vaadin-upload>

请注意,您必须在层次结构面板中执行此操作。 在此处输入图像描述

如果这没有帮助(也许您已经这样做了),您是否可以包含一些代码来显示您正在尝试做什么?

于 2021-05-31T12:31:45.670 回答
0

我刚刚在我们的 Designer 存储库https://github.com/vaadin/designer/issues/2399中为此改进创建了一个问题。

随意发表评论。

于 2021-06-07T12:10:02.780 回答