Ionic 4 - 关闭或关闭平台硬件后退按钮 android 上的模态

2024-03-03

在 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(使用前将#替换为@)

Ionic 4 - 关闭或关闭平台硬件后退按钮 android 上的模态 的相关文章

随机推荐