离子 2 - 消除模态和流行音乐



我有一个结果页面。导航到此页面时,将直接创建搜索模式。

在搜索页面中,用户可以引入查询并提交搜索,也可以取消。

如果有查询,结果页面将显示结果。
另一方面,如果用户取消搜索,我想弹出结果页面:

openSearchModal() {
  let searchModal = this.modalCtrl.create(SearchPage, {
       :
       :
  });
  SearchModal.onDidDismiss(data => {
    this.handleModalData(data);
  });
  searchModal.present();
}

handleModalData(data) {
  let q = data['q'];
  if (!q) {
    this.navCtrl.pop();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
  } else {
    // handle search query......
           :
           :
  }
}

我的问题是,在取消搜索时,用户可以在应用程序将他发回之前看到结果页面一秒钟。

我尝试从模态使用 popTo,但无法实现我想要的。

您应该在模态onDidDismiss()中处理pop

presentModal() {
   this.searchModal = this.modalCtrl.create(SearchPage, { //stuff });
   this.searchModal.onDidDismiss(data => {
        this.navCtrl.pop();
    });
    this.searchModal.present();
}

然后

handleModalData(data) {
   let q = data['q'];
   if (!q) {
     this.searchModal.dismiss();                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
   } else {
    // handle search query
 }

最新更新