ionic3/4+cordova App,当会话结束时,关闭所有弹框

问题:当会话结束时候,拦截器会使系统自动跳到登录页面,但是弹框无法消失?

 

解决方法:

Ionic3:

在跳到登录页面之前,添加代码:

       //键盘
        if (this.keyboard.isOpen()) { 
          this.keyboard.close();
          return;
        }
        
    //判断是否有弹出框
        let ejectFrom = 
      this.ionicApp._loadingPortal.getActive() ||
          this.ionicApp._overlayPortal.getActive() ||     
          this.ionicApp._modalPortal.getActive();
       
        //如果有,就将该弹出框关闭掉,并且结束此事件
        if (ejectFrom) {
          ejectFrom.dismiss();
          return;
        }else if (this.menuCtrl.isOpen()) { 
          this.menuCtrl.close();
          return;
        }
    

 

ionic4: 

this.modalCtrl.getTop().then(event => {
                if(event){
                    this.modalCtrl.dismiss();
                }
            });

 

posted @ 2020-03-26 16:17  renxiaoren  阅读(365)  评论(0编辑  收藏  举报