我有一个关于Vaadin的大型项目,它在Vaadin 7上运行得很好,但是我必须开始将它升级到8.0,然后升级到8.1版本。一切都很好,但专注于网格内部的ComboBoxes。有时起作用,但有时不行。我在线查看调试控制台,并看到有设置接收焦点的命令。但它并不总是把注意力集中在正确的组件上。在Chrome上,焦点可能会从所有组件中丢失,在Firefox中焦点会停留在以前的焦点组件上。
我用Grid创建了简单的测试Servlet,它有一些ComboBoxes作为列。它必须模仿大型项目的Servlet中的问题。在每个ComboBox上都添加了valueChangeListener,它将焦点移到下一个ComboBox。在最后一个ComboBox中,将焦点移到下一行,首先是ComboBox。以此类推,直到最后一行,它将焦点移到第一行ComboBox。
在测试Servlet中,我找不到错误,所有的工作都是我想要的。将近两个星期,我试图解决我的问题,但不能。
发布于 2017-10-18 08:29:51
更新2017-10-18:我想我发现了我的问题。如果与聚焦组件的线移动到另一个位置,则出现焦点丢失。我附上简单的例子。它是一个带有2列网格的Vaadin Servlet。对于焦点测试,我添加了带有按钮的静态触发器。在两个浏览器中打开servlet,在ComboBoxes中选择一些值并播放按钮。在按下按钮的第一页,它必须反应在第二页和混合两行。定期检查第二页的焦点。在一些按钮,按线与焦点ComboBox将移动到另一个地方,失去焦点。
https://stackoverflow.com/questions/46787709
复制相似问题