我有一个结果页面。导航到此页面时,将直接创建搜索模式。
在搜索页面中,用户可以引入查询并提交搜索,也可以取消。
如果有查询,结果页面将显示结果。
另一方面,如果用户取消搜索,我想弹出结果页面:
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
}