gpt4 book ai didi

java - 如何强制 Vaadin v8 更新屏幕?

转载 作者:太空狗 更新时间:2023-10-29 22:38:45 29 4
gpt4 key购买 nike

我有一个小型 Vaadin v8 应用程序,它有几个输入字段(组合框、选择组等)。其中大部分的内容由第一个 ComboBox 的所选内容决定。但是,当我在其中选择某些内容时,所有其他内容都保持空白,直到我单击其中一个,此时它们都会更新。这不是期望的行为,但我认为这是由于服务器端是最新的但没有更新客户端 View 引起的。 (即使在我的第一个 Combobox 的 ValueChangeListener 中添加 requestRepaint() 时)

即使没有点击其他组件,也必须有某种方法强制 Vaadin 获取我希望它显示的数据?

编辑我不能这么快发布我自己的问题的答案,所以我暂时把它放在这里:

我发现有一个 javascript 方法可以同步客户端和服务器。

myComponent.getApplication().getMainWindow().executeJavaScript("javascript:vaadin.forceSync();");

我现在遇到的唯一问题是我的一个组合框上的 ValueChangeListener 仍然只在我单击另一个组合框(或同一个组合框两次)时触发。这是最奇怪的事情,因为第二个组合框在加载时会完美地触发它的事件。

最佳答案

第一个 ComboBox 是否处于“立即”模式?

如果不是,它可能应该是:component.setImmediate(true)。

参见 https://vaadin.com/book/-/page/components.selection.html

关于java - 如何强制 Vaadin v8 更新屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7607702/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com