【发布时间】:2011-11-28 07:01:28
【问题描述】:
我有一个小型 Vaadin v8 应用程序,它有几个输入字段(组合框、选择组等...)。其中大部分的内容由第一个 ComboBox 的所选内容决定。但是,当我在其中选择某些内容时,其他所有内容都保持空白,直到我单击一个,此时它们都会更新。这不是理想的行为,但我认为它是由服务器端是最新的但没有更新客户端视图引起的。 (即使在我的第一个 Combobox 的 ValueChangeListener 中添加 requestRepaint())
一定有某种方法可以强制 Vaadin 获取我希望它显示的数据,即使没有点击其他组件?
编辑 我不能这么快就自己的问题发布答案,所以我暂时放在这里:
我发现有一个 javascript 方法可以同步客户端和服务器。
myComponent.getApplication().getMainWindow().executeJavaScript("javascript:vaadin.forceSync();");
我现在唯一的问题是我的一个组合框上的 ValueChangeListener 仍然只在我单击另一个组合框(或同一个组合框两次)时触发。这是最奇怪的事情,因为第二个组合框在加载时会完美地触发它的事件。
【问题讨论】: