前一久在做一個以ionic2的小項目务甥,在安卓真機調(diào)試中遇到了一個小問題趋距,就是類似時間選擇器粒氧、城市選擇器、彈窗等沒有辦法被返回节腐,找了好長時間資料沒有頭緒外盯,最近忙于考試,在空閑時間又找翼雀,發(fā)現(xiàn)了一篇文章饱苟,找到了解決方法。
廢話不多說狼渊,貼碼:
registerBackButtonAction(){
this.platform.registerBackButtonAction(() => {
const overlay = this.app._appRoot._overlayPortal.getActive(); //這里返回各種彈窗箱熬,選擇器社么的,最好放在最上面
if(overlay && overlay.dismiss) {
overlay.dismiss();
return;
}
const nav = this.app.getActiveNav();
let activeVC = nav.getActive();
let page = activeVC.instance;
if(this.keyboard.isOpen) {
this.keyboard.close(); //關(guān)閉鍵盤
}
if(this.menu.isOpen()){
this.menu.close(); //關(guān)閉側(cè)欄菜單
return;
}
//當(dāng)前頁面非tab欄
if (page instanceof TabsPage) {
this.app.goBack();
return;
}
if(nav.canGoBack()) {
nav.pop();
}else{
this.showExit(); //這里是退出app的方法狈邑,自己按具體需求寫
}
}, 1);
}
這個是注冊返回按鍵的函數(shù)城须,寫在app.component.ts中,并且在platform.ready().then()中調(diào)用米苹,就ok了酿傍,不要忘記引入依賴。
個人一點點心得驱入,如有錯誤赤炒,歡迎指正討論-