Ionic 3关闭模态并导航隐藏选项卡

时间:2018-08-07 08:19:36

标签: ionic-framework ionic3

我遇到一个问题,当我在函数中调用 this.viewCtrl.dismiss(); this.navCtrl.push(HomePage); 时,页面底部消失

所以我有3页/模态: page1:主页,page2:模态,page3:第二页

我从主页导航到具有两个动作(接受或拒绝)的模式

如果用户接受,则转到第二页;如果用户拒绝,则返回首页。当用户接受一切后,一切都会按预期进行,但是如果用户拒绝,则应用程序将隐藏页面底部的标签

我用于拒绝按钮导航的代码如下

模式页面

  gotoHome(){
    this.viewCtrl.dismiss();
    this.navCtrl.push(HomePage);
  }

第二页

在构造函数中调用模式

  constructor(public navCtrl: NavController, public navParams: NavParams, public modalCtrl: ModalController, public storage: Storage) {
    let myModal = this.modalCtrl.create(modal);
    myModal.present();
  }

我的TabsPage是Ionics Tabs Layout App的默认设置

1 个答案:

答案 0 :(得分:2)

您不需要从模式中推送首页,因为您说过,您将返回首页。

更改modal.ts

gotoHome(){
  this.viewCtrl.dismiss();
  this.navCtrl.push(HomePage);
}

accepted: boolean;

....

accept(){
    this.accepted = true;
    this.dismiss();
}

reject(){
    this.accepted = false;
    this.dismiss();
}

dismiss(){
    this.viewCtrl.dismiss(this.accepted);
}

被接受时致电accept(),被拒绝时致电reject()

通过

关闭视图后处理您的操作
let myModal = this.modalCtrl.create(modal);
myModal.onDidDismiss( accepted => {

  // your actions here
  console.log(accepted);   

  if(accepted){
      this.navCtrl.push(SecondPage);
  }

});
myModal.present();

我在stackblitz

上创建了一个示例