Vaadin Flow:删除 PollListener
Posted
技术标签:
【中文标题】Vaadin Flow:删除 PollListener【英文标题】:Vaadin Flow: Remove PollListener 【发布时间】:2021-05-30 16:09:31 【问题描述】:是否有可能在 Vaadin 14 中删除 PollListener
?
UI.getCurrent().addPollListener(pollEvent -> refresh();
我需要开始刷新,但是如果更改了 Route 或 UI,则必须停止刷新。
是否存在“Vaadin 可能性”,还是我必须自己构建一些东西?
谢谢!
【问题讨论】:
【参考方案1】:如docs 中所述,为了禁用轮询,应该调用
UI.getCurrent().setPollInterval(-1);
为了确保在离开视图时调用它,您可以在 BeforeLeaveObserver 中进行此调用。这是一个例子:
public class Foo extends Div
implements BeforeLeaveObserver
@Override
public void beforeLeave(BeforeLeaveEvent event)
UI.getCurrent().setPollInterval(-1);
如果要在启用轮询的同时删除单个轮询侦听器,可以存储对addPollListener()
方法返回的Registration
对象的引用,然后从Registration
调用remove
方法。
【讨论】:
值得注意的是addPollListener
返回一个Registration
,你可以调用Registration#remove
来删除它。如果您想在不禁用轮询的情况下删除侦听器,这将非常有用。以上是关于Vaadin Flow:删除 PollListener的主要内容,如果未能解决你的问题,请参考以下文章
Vaadin 21 Flow + Spring Security OAuth2:找不到'oauth2/authorization/google'的路由