【问题标题】:Vaadin Flow How to control focus TextField in Grid?Vaadin Flow 如何在 Grid 中控制焦点 TextField?
【发布时间】:2021-07-27 10:12:28
【问题描述】:

作为我的first question

SerializableFunction<MyItem, TextField> function = item -> {
TextField tf = new TextField();
tf.setValue(item.getMyValue());
tf.addValueChangeListener(e -> item.setMyValue(e.getValue()));
return tf;
};
ComponentRenderer<TextField, MyItem> cr = new ComponentRenderer<>(function); 

我发现了另一个问题,我发现无法在 Grid 的 SelectChange 事件上指示 textField 的焦点。

我发现添加新记录时,SelectChange事件在textField的创建之前。

似乎 vaadin 没有行概念?

【问题讨论】:

    标签: java vaadin vaadin-flow vaadin-grid


    【解决方案1】:

    首先想到的是:添加一个跟踪最新选定项目的类变量(在触发选择更改侦听器时更新),并检查您的 item 与 function 中的内容。 (也许还有另一个类变量用于保存以前样式化的 TextField,以便您也可以删除选择样式。)

    【讨论】:

    • 如果可能的话,我建议使用 Grid 的集成编辑器而不是组件渲染器。有了它,您可以更好地控制焦点,就像在这个例子中cookbook.vaadin.com/grid-with-map
    • 谢谢!但我不是能够决定我们运营风格的人。我将 textFields 自动聚焦在 ComponentRender 上。并将 textFields 放入 Item Map 以供以后操作。它似乎工作正常。
    猜你喜欢
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-17
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    相关资源
    最近更新 更多