1

在 Vaadin 8 中,我能够Grid使用 UI 的方法异步更新传入的 websocket 数据,该access方法锁定线程并执行更新,然后推送它们而无需客户端请求它。

access(() -> addMessage(message));

我现在正在尝试使用 vaadin 10,并且由于您开始使用的主类没有扩展 UI,因此我正在尝试这样做:

UI.getCurrent().access((Command) () -> addTrade(message))

但是它不起作用,您必须单击页面上的某个位置才能进行更新。我@Push在课堂上有注释,所以我相信服务器推送应该可以工作..非常感谢你们!

在我的 servlet 中:

asyncSupported = true

也试过了this.getUI().get().access(),还是不更新。

4

1 回答 1

2

这很可能是由当前正在修复的https://github.com/vaadin/flow/issues/3256引起的。

票证还提出了一种解决方法:grid.getElement().getNode().markAsDirty();. 如果解决方法解决了问题,那么很可能是由该错误引起的。如果不是,那么还有一些其他问题需要进一步调查。

于 2018-04-06T06:17:44.527 回答