【问题标题】:Put Vaadin component in element generated by Javascript component将 Vaadin 组件放入 Javascript 组件生成的元素中
【发布时间】:2016-05-06 14:29:28
【问题描述】:

我正在创建一个 Vaadin 应用程序,我正在为此开发一个 Javascript 组件(AbstractJavascriptComponent 的子类),该组件使用 jQuery 生成某种表格。

但是,在某些情况下,用户需要能够在单元格中输入值,由于过滤功能,我想使用 Vaadin 的标准 ComboBox。这可能吗?我知道如何从 Javascript 组件向服务器进行 RPC 调用,我可以在其中实例化 ComboBox,但看不到如何将 ComboBox 添加到某个 DOM 元素而不是常规布局中。

我不能使用Table 或Grid,因为我需要直接控制 DOM 以进行一些复杂的 UI 交互和布局,所以请不要建议使用它们来代替创建我自己的表。我在这里称它为表,但实际上它更复杂。

【问题讨论】:

    标签: javascript java vaadin


    【解决方案1】:

    我认为使用 Vaadin 是不可能的,但您可以创建包含 Vaadin ComboBox 的自定义 HTML 布局。见CustomLayouthttps://vaadin.com/docs/-/part/framework/layout/layout-customlayout.html

    因此,您可以使用 AbstractJavascriptComponent 为您的 HTML 布局添加必要的行为,但布局将是静态的。

    如果你真的想从头开始为 Vaadin 组件创建这个复杂的容器,你必须在 Java 中创建自定义 Vaadin 组件来实现 ComponentContainer。

    【讨论】:

    • 问题是我不需要写静态html。就像我说的,我只需要在某些场合显示组合框,布局是使用jQuery动态生成的。
    • Vaadin 组件有两种工作方式: 1. 使用 Java 生成完整的解决方案服务器端(不是您想要的) 2. 使用 vaadin 的客户端组件。目前这仅适用于部分 vaadin 组件,例如 Grid。但是您必须自己连接到数据源
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    • 1970-01-01
    • 2022-12-22
    • 2023-03-19
    • 2016-04-27
    • 2023-01-29
    • 1970-01-01
    相关资源
    最近更新 更多