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'的路由

在 Vaadin Flow 中的布局中居中小部件

Vaadin Flow / 10/11风格组件通过css

Vaadin Flow 应用程序自动在明暗模式之间切换

如何在 Vaadin Flow 14 中创建一个简单的 HTML 表格

Vaadin Flow TextField:如何动态更改字体颜色?