我有一个结果页面。导航到此页面时,将直接创建搜索模式。
在搜索页面中,用户可以引入查询并提交搜索,或取消。
如果有查询,结果页面会显示结果 另一方面,如果用户取消搜索,我想弹出结果页面:
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......
:
:
}
}
我的问题是,在取消搜索时,用户会在应用程序将其发回之前查看结果页面。
我尝试使用modal中的popTo,但无法实现我想要的目标。
答案 0 :(得分:1)
您应该处理模式pop
onDidDismiss()
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
}