在 ionic 4 中,在按下硬件后退按钮时,我想关闭或消除任何将出现的模式。
我使用了下面给出的代码,这里的条件“if(modal) { modal.dismiss(); }”总是得到满足,即使先前的模态被忽略
constructor(private platform: Platform, private modalCtrl: ModalController) {
this.initializeapp();
}
initializeapp() {
this.platform.registerBackButtonAction(1, async () => {
const modal = await this.modalCtrl.getTop();
if (modal) {
modal.dismiss();
}
});
}
做了一些挖掘,Ionic 注册了一个自定义事件ionBackButton
用于处理硬件后退按钮按下:
- https://github.com/ionic-team/ionic/blob/master/core/src/utils/hardware-back-button.ts#L20 https://github.com/ionic-team/ionic/blob/master/core/src/utils/hardware-back-button.ts#L20
管理 Ionic 中所有覆盖的覆盖代码可以处理这个问题ionBackButton
通过消除最上面的覆盖层来事件:
- https://github.com/ionic-team/ionic/blob/master/core/src/utils/overlays.ts#L66 https://github.com/ionic-team/ionic/blob/master/core/src/utils/overlays.ts#L66
那么您的代码想要实现什么目的?
似乎只有在以下情况下才会这样做backdropDismiss
也设置为 true:
if (lastOverlay && lastOverlay.backdropDismiss) {
我认为这意味着它被归类为可选/低级覆盖,而不是模拟模态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)