我正在尝试在Vaadin视图中的组件列表上实现自动刷新。列表从数据库获取其内容。我可以用按钮刷新列表,这已经实现了。
然而,我想知道什么是最简单的方法,使它,这个刷新事件,我已经有,将自动刷新在5分钟(300000毫秒)的间隔?
这是我尝试的,它保持刷新,即使在我退出视图,所以它并没有真正工作。我想刷新发生在5分钟的间隔,只有当某些视图显示
UI myUI = UI.getCurrent();
myUI.setPollInterval(300000);
myUI.addPollListener(event -> {
refreshList();
});
我如何使刷新不会发生导航到其他视图后?在瓦拉丁有没有更简单的方法?谢谢你
您可以这样做,您可以调用
myUI.setPollInterval(300000);
当视图被激活时,你可以通过调用
来禁用它myUI.setPollInterval(-1);
,当另一个视图被激活时。如果您使用Vaadin Navigator,那么您可以使用ViewChangeListener
来处理轮询。