离子2时间选择器 - 设置选择器时间而不是值

时间:2017-11-30 10:30:38

标签: ionic-framework ionic2 datetimepicker

// Controller    
this._display = 'HH:mm';
this._picker = 'HH:mm';
this._control = /* Basic angular form control with value */

// View     
<ion-datetime [displayFormat]="_display" [pickerFormat]="_picker" [formControl]="_control"></ion-datetime>

如果this._control.value为空,我希望选择器在未设置this._control.value的情况下显示未来3小时的时间。

有没有办法实现这个目标?

我尝试按照here的步骤操作,但它不起作用:

// Controller 
setDefaultDate() {
    this._tmpDefaultDate = moment().add(3, 'hours').format('YYYY-MMM-DD HH:mm:ss');
  }

  cancel() {
    if(!this._control.value) {
      this._tmpDefaultDate = '';
    }
  }

// View
<ion-datetime [displayFormat]="_display" [pickerFormat]="_picker" [formControl]="_control" [(ngModel)]="_tmpDefaultDate" (ionCancel)="cancel()" (tap)="setDefaultDate()"></ion-datetime>

1 个答案:

答案 0 :(得分:0)

如果我理解,您想要在单击取消按钮时重置小时,请使用FormGroup尝试此代码。

控制器:

this.mainForm = formBuilder.group({
  _tmpDefaultDate: moment().add(3, 'hours').format('YYYY-MMM-DD HH:mm:ss');
});

cancel() {
    this.mainForm.patchValue({
        _tmpDefaultDate: moment().add(3, 'hours').format('YYYY-MMM-DD HH:mm:ss');
});

}

页:

<ion-datetime [displayFormat]="_display" [pickerFormat]="_picker" formControlName="_tmpDefaultDate" (ionCancel)="cancel()"></ion-datetime>