首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止制表符切换

防止制表符切换
EN

Stack Overflow用户
提问于 2022-11-14 14:47:29
回答 1查看 54关注 0票数 0

我用Vaadin23。

是否有合法的方法来防止标签切换?据我所知,文档方法

代码语言:javascript
复制
public Registration addSelectedChangeListener(
            ComponentEventListener<SelectedChangeEvent> listener) {
        return addListener(SelectedChangeEvent.class, listener);
    }

注册监听器,它是在选项卡更改事件之后触发的。

有什么选择吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-15 12:28:43

如果选项卡内容是导航目标(路由),则可以在窗体视图中使用BeforeLeaveObserver接口:

代码语言:javascript
复制
public class SignupForm extends Div
        implements BeforeLeaveObserver {
    @Override
    public void beforeLeave(BeforeLeaveEvent event) {
        if (hasChanges()) {
            ContinueNavigationAction action =
                    event.postpone();
            ConfirmDialog confirmDialog = new ConfirmDialog();
                 confirmDialog.setText("Your form has changes! Are you sure you want to leave?");
                 confirmDialog.setCancelable(true);
                 confirmDialog.addConfirmListener(__ -> action.proceed());
                 confirmDialog.open();
        }
    }

    private boolean hasChanges() {
        // TODO: implement your logic to check if there are unsaved changes
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74433482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档