我有一个 CellTree,它使用 EditTextCell 作为其子组件的 CompositeCell 的一部分。我注意到有时当我编辑一个节点并单击另一个节点时,此单元格会切换到编辑模式,但第一个不会退出它。
在调试 CellTree 类后,我发现有时 onBlur 事件在失去焦点时不会转发到正在编辑的节点。
任何帮助将非常感激。
我有一个 CellTree,它使用 EditTextCell 作为其子组件的 CompositeCell 的一部分。我注意到有时当我编辑一个节点并单击另一个节点时,此单元格会切换到编辑模式,但第一个不会退出它。
在调试 CellTree 类后,我发现有时 onBlur 事件在失去焦点时不会转发到正在编辑的节点。
任何帮助将非常感激。
确保在构造函数中有这一行
super("click", "keyup", "keydown", "blur");
这在事件处理程序中
...
else if ("blur".equals(type)) {
// Commit the change. Ensure that we are blurring the input element and
// not the parent element itself.
EventTarget eventTarget = event.getEventTarget();
if (Element.is(eventTarget)) {
Element target = Element.as(eventTarget);
if ("input".equals(target.getTagName().toLowerCase())) {
commit(context, parent, viewData, valueUpdater);
}
}
}
看看这个帖子的最后一个答案EditTextCell FieldUpdater width