开发者问题收集

Ionic 2:ion-datetime 返回空值

2017-07-13
904

我在我的一个页面中使用 ion-datetime 选择器来仅选择一个月份。我在 .html 中写了以下内容:

    <ion-item>
          <ion-label>Mois</ion-label>
          <ion-datetime [(ngModel)]="month"
                        displayFormat="MMMM"
                        monthNames="Janvier, Février, Mars, Avril, Mai, Juin, Juillet, Aout, Septembre, Octobre, Novembre, Décembre"
                        doneText="Valider" cancelText="Annuler">
         </ion-datetime>
   </ion-item>

但是当我使用此字段选择一个月份时,我得到的是空值。

我的 .ts 文件:

month: any  = null;

  constructor(public viewCtrl: ViewController) {

  }

  dismiss() {
    this.viewCtrl.dismiss();
  }

  test() {
    console.log(this.month);
  }

有什么想法吗?

1个回答

在使用 Ionic 的 DateTime 组件时,我也遇到了类似的问题。

初始化绑定到 ngModel 的值似乎为我解决了这个问题,尽管这会为选择器提供默认值(这可能根据您的用例有用)。

Ionic 的 DateTime 以 ISO 8601 格式工作,因此在构造函数中执行类似操作会为选择器提供当前月份的默认值

constructor(public viewCtrl: ViewController) {
  this.month = (new Date()).toISOString();
}

当选择器更改时, month 的值将会更新,但它将再次采用 ISO 8601 格式,因此如果这是您要查找的值,则必须从中提取月份。

我很高兴知道是否有更清晰的解决方案!

emroussel
2017-07-13