如何强制 Vaadin v8 更新屏幕?
我有一个小的Vaadin v8应用程序,它有几个输入字段(组合框,选择组等)。其中大多数的内容由第一个ComboBox的所选内容决定。但是,当我在其中选择某些内容时,所有其他内容都保持空白,直到我单击一个,此时它们都会更新。这不是预期的行为,但我认为这是由服务器端是最新的但不更新客户端视图引起的。(即使在我的第一个Combobox的ValueChangeListener中添加repaint()请求时)
一定有办法强制Vaadin获取我想要它显示的数据,即使没有点击其他组件?
编辑 我不允许这么快就发布我自己的问题的答案,所以我暂时把它放在这里:
我发现有一个javascript方法可以同步客户端和服务器。
myComponent.getApplication().getMainWindow().executeJavaScript("javascript:vaadin.forceSync();");
我现在遇到的唯一问题是,我的一个组合框上的 ValueChangeListener 仍然只在我单击另一个组合框(或同一个组合框两次)时触发。这是最奇怪的事情,因为第二个组合框在加载时会完美地触发它的事件。