Vaadin Flow 如何控制网格中的焦点 TextField?

问题描述

作为我的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 没有行概念?

解决方法

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