我正在尝试在警报出现时按后退键关闭警报,否则页面将被导航到另一个页面。我已经尝试了alert.dismiss()
,但是如何确定警报是否存在?我也想对ion-select
做同样的事情.
Ionic 3 的方法:
showAlert() {
let alert = this.alertCtrl.create({
title: 'My Title',
buttons: [
{
text: 'Ok'
}
]
});
alert.present();
let deregisterBackButton = this.platform.registerBackButtonAction(() => {
// dismiss on back press
alert.dismiss();
}, 401);
// deregister handler after modal closes
alert.onDidDismiss(() => {
deregisterBackButton();
});
}
您可以使用
registerBackButtonAction
尝试此操作
this.platform.registerBackButtonAction(() => {
try {
this.viewController.dismiss()
}
catch(e) {
... no overlay component open
}
})
要检查警报是否存在,您可以使用类似此建议的解决方案进行检查以查看是否存在覆盖。