Vaadin 8 网格单元焦点

Vaadin 8 Grid cell focus

我在 Vaadin 上有一个大项目,它在 Vaadin 7 上运行良好。但我已经开始将它升级到 8.0,然后升级到 8.1 版本。一切都很好,但专注于网格内的组合框。它有时有效,但有时无效。我查看在线调试控制台,发现有设置接收焦点的命令。但它并不总是真正将重点放在正确的组件上。在 Chrome 上,焦点可能会从所有组件中丢失,在 Firefox 中,焦点停留在之前获得焦点的组件上。

我已经用网格组件创建了简单的测试 Servlet,它有一些组合框作为列。它必须模仿大型项目的 Servlet 的问题。 在每个 ComboBox 上添加 valueChangeListener,它将焦点移动到下一个 ComboBox。在最后一个 ComboBox 上,首先将焦点移到下一行 ComboBox。依此类推,直到最后一行,它首先将焦点移到第一行 ComboBox。

在测试 Servlet 中,我找不到错误,一切正常。将近两周我试图解决我的问题,但不能。

2017-10-18更新: 我想我发现了我的问题。如果带有焦点组件的线移动到另一个位置,则会发生焦点丢失。 我附上简单的例子。它是一个带有 2 列网格的 Vaadin Servlet。对于焦点测试,我添加了带按钮的静态触发器。在两个浏览器中打开 servlet,select ComboBoxes 中的一些值并使用按钮。在第一页按下按钮时,它必须在第二页做出反应并混合两行。定期检查第二页上的焦点。在某些按钮上,具有焦点 ComboBox 的按下行将移动到另一个地方并失去焦点。

Link to example source on Vaadin forum

Link to example source on Dropbox