首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关闭modal前的保存/取消提示(当modal已通过ESC/ click-backdrop关闭时)

关闭modal前的保存/取消提示(当modal已通过ESC/ click-backdrop关闭时)
EN

Stack Overflow用户
提问于 2019-10-11 21:21:41
回答 2查看 360关注 0票数 1

当手动关闭模式时,没有问题。我只是简单地创建了一些提示,只有当提示(甜蜜警报)关闭时,我才调用BsModalRef.hide()方法。

现在,当通过bootstrap内置的ESC-key和单击外部事件关闭模式时,我仍然可以订阅BsModalService.onHide-event。但我不知道如何防止模式实际关闭,只要提示还没有得到响应。bsModalRef: BsModalRef;

代码语言:javascript
复制
constructor(injector: Injector,
            public bsModalService: BsModalService) {
    super(injector);
}

ngOnInit(): void {
    this.bsModalRef = this.bsModalService.show(SomeFormComponent,
        {
            keyboard: true,
            backdrop: true
        });

    this.bsModalService.onHide.subscribe((e) => {
        // PROBLEM: modal has already closed here...
        swal({
            text: 'u wanna save changes?',
            title: 'prompt',
            icon: 'warning'
        }).open().then((answer: ModalResult) => {
            switch(answer) {
                case ModalResult.Save:
                    // i would like to save and close modal afterwards
                    break;
                case ModalResult.DontSave:
                    // close modal
                    break;
                default:
                    // stay on modal
                    break;
            }
        });
    });
}

非常感谢您的帮助,谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-16 16:49:49

所以使用ngx-bootstrap你不会有这样的事件。

我使用@ng-bootstrap而不是ngx-bootstrap包解决了这个问题。为此,我还必须从bootstrap 3升级到bootstrap 4样式表。

在此之后,我可以使用beforeDismiss Event。

感谢您的投入

票数 0
EN

Stack Overflow用户

发布于 2019-10-12 01:35:01

我相信你说的B指的是bootstrap,它有一个beforeDismiss事件。试试看。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58342200

复制
相关文章

相似问题

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