2017-11-30 1 views
1
// 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을 설정하지 않고 앞으로 3 시간하는 시간을 표시하는 선택기를하고 싶습니다.이온 2 시간 선택 - 피커 시간을 설정하지 <code>this._control.value</code>가 null

이 방법이 있습니까?

내가 단계 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> 
+0

나는 당신이이 경우에, formGroup를 사용하고 이해하는 경우 ngModel와 함께 사용하지 않아야합니다. –

답변

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>