首页 > 解决方案 > 带有 Angular 的离子警报 canDeactivate

问题描述

我正在尝试将 ionic-alert 与 Angular deactivate 一起使用,以保持“确认”功能的行为。

canDeactivate(component: UserFormComponent) {
    if (component.userFormView.userForm.dirty) {
        this.confirmDeactivate();
    }

    return true;
}

private async confirmDeactivate() {
    const alert = await this.alertController.create({
        header: 'Confirm!',
        message: 'Message <strong>text</strong>!!!',
        buttons: [{
            text: 'Cancel',
            role: 'cancel',
            cssClass: 'secondary',
            handler: (blah) => {
                console.log('Confirm Cancel: blah');
            }
        }, {
            text: 'Okay',
            handler: () => {
                console.log('Confirm Okay');
            }
        }]
    });

    await alert.present();
}

使用此代码,当我单击更改页面时,页面已更改,然后出现确认对话框。

当我使用 confirm() 而不是这个函数时,效果很好,页面等待答案。

如何获得与窗口确认功能相同的行为?

标签: angularionic4candeactivate

解决方案


推荐阅读