我在Android设备中安装应用程序时在Ionic中工作。在R& amp; amp; amp; amp;D我有解决方案以注册返回按钮。但是我的问题是,当Select Option popover打开并按下返回按钮时,它可以忽略弹出窗口,但是当我想在按下硬件返回按钮后我想重新打开选择选项时,我无法打开它。注册后按钮使用一些条件检查活动门户,并在发现的情况下解雇活动门户。但是它不允许再次打开选择选项。谁能帮我解决这个问题?我的代码在下面...
platform.ready().then(() => {
// this.config.pullVersion();
let ready = true;
// to handle hardware back button in android
platform.registerBackButtonAction(() => {
console.log("Back button action called");
let activePortal = ionicApp._loadingPortal.getActive() ||
ionicApp._modalPortal.getActive() ||
ionicApp._toastPortal.getActive() ||
ionicApp._overlayPortal.getActive();
let view = this.navCtrl.getActive();
if (activePortal) {
ready = false;
activePortal.dismiss();
activePortal.onDidDismiss(() => { ready = true; });
console.log("handled with portal");
return;
}
if (menuCtrl.isOpen()) {
menuCtrl.close();
console.log("closing menu");
return;
}
if (this.navCtrl.canGoBack()) {
this.navCtrl.pop();
console.log("poping back");
return;
} else {
console.log("exiting from app");
platform.exitApp();
console.log("poping back");
}
}, 1);
});
和select-option
<ion-select interface="popover" [disabled]="isStarted" [(ngModel)]="routeName" class="custom-option-btn" (ionChange)="optionsFn();">
<ion-option value="" selected disabled>select Route</ion-option>
<ion-option *ngFor="let cg of routeData;let idx = index" [value]="cg">{{cg.routeName}} </ion-option>
</ion-select>
这在后退按钮事件中被解雇,并且不再打开选择选项
ionicApp._overlayPortal.getActive()
我一直在搜索这个主题,而Ionic团队还没有为此开发解决方案(我知道已经3年了)。似乎我们要解散离子选择的唯一方法是在选择器中使用"取消"按钮。
使用platform.backbutton
或Ionicapp模块中的任何其他方式都不会让您做所需的事情。
我能想到的唯一真正的解决方案是创建一个新的模式,仅适用于选择,并实现您自己的滚动和可选项目,然后使用ModalController.dismiss()
来删除选择,就像您按在ION-内部按CAMPAR一样。选择。