gpt4 book ai didi

java - Vaadin 向导插件事件触发两次

转载 作者:行者123 更新时间:2023-11-29 04:10:55 25 4
gpt4 key购买 nike

我正在使用 Vaadin 向导插件,但遇到以下情况时遇到问题:

当用户只按前进/下一步时,没有问题。但是,如果用户想转到上一步,我不小心将 Button click 监听器添加到同一个事件(这是我的假设。我调试了程序,看到如果用户转到上一页,事件触发两次)

我曾尝试在转到下一页之前删除事件监听器,但是,我找不到一次删除所有事件监听器的方法。另外,我不知道在哪里删除它们,因为我找不到在 Vaadin 向导中将用户移动到下一页之前执行的函数。

我正在关注这个例子:

https://github.com/tehapo/WizardsForVaadin/tree/master/wizards-for-vaadin-demo/src/main/java/org/vaadin/teemu/wizards

是否有删除所有 ClickListener 的方法?

如果存在,我应该在哪里添加该功能?

此外,我正在使用 ListDataProviderNativeSelect组件也是。

NativeSelect 有 HasValue.ValueChangeListener<String>监听器,在默认实现中,我找不到可以使用此方法的方法:

NativeSelect<String> select = new NativeSelect<>("List");

select.addValueChangeListener(new HasValue.ValueChangeListener<String>() {
// some overwritten valuechange method
}

select.removeValueChangeListener(); // This does not exist

我正在 public Component getContent() {} 中设置点击监听器方法

最佳答案

在 Vaadin 8 中你需要使用 Registration interface删除监听器。

当您添加一个监听器时,它将返回注册信息:

final Registration registration = select.addValueChangeListener(this::doSomething);

然后删除它:

registration.remove();

关于java - Vaadin 向导插件事件触发两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55211030/

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