按下后退按钮(硬件)时,ion-datetime不触发ionCancel

时间:2019-01-28 06:05:37

标签: ionic-framework

my Appcomponent.ts ion-datetime具有函数ionCancel,当在日期选择器中单击“取消”时会触发。

我正在使用以下配置- 离子框架:3.9.2 Ionic应用程序脚本:3.1.0 角核:5.0.0 Angular编译器CLI:5.0.0 节点:8.11.1 操作系统平台:Windows 7

 <ion-datetime *ngIf="form.elementSlug ==='date'" placeholder="{{form.fieldPlaceHolder}}" type="Date" (click)="onclickDate()" (ionChange)='grabInputDate($event,form.isRequired,form.questionId,form.question)'></ion-datetime>

在选择或选择日期时,如果我在android上按后退按钮,则它不会关闭日期选择器,而是会离开页面(关闭页面并导航到仍打开日期选择器的上一页)。 我想要的是它也应该关闭离子日期选择器。

1 个答案:

答案 0 :(得分:1)

尝试一下。将此代码放在platform.ready中的app.component.ts中。

但是先导入以下内容:

import { Platform, IonicApp } from 'ionic-angular';

然后像下面这样在您的构造函数中声明它:

constructor(private ionicApp: IonicApp,private platform: Platform){}

其后为构造函数中的以下代码:

 this.platform.registerBackButtonAction(() => {
        let activePortal = this.ionicApp._loadingPortal.getActive() ||
          this.ionicApp._modalPortal.getActive() ||
          this.ionicApp._toastPortal.getActive() ||
          this.ionicApp._overlayPortal.getActive();

        if (activePortal) {
          activePortal.dismiss();
        }
      });

从代码中完全可以理解,当按下后退按钮时,它将消除任何形式的模态,叠加或吐司。

快乐编码!