我在ANgular8中有两个日期选择器字段,例如from date and to date
,我需要根据日期值禁用到日期。我先解释我的代码。
<div class="col-sm-2">
<mat-form-field appearance="outline">
<mat-label>From Date</mat-label>
<input matInput [matDatepicker]="picker1" [value]="date.value || ''" (dateChange)="onDateSelectionChanged($event)">
<mat-datepicker-toggle matSuffix [for]="picker1"></mat-datepicker-toggle>
<mat-datepicker #picker1></mat-datepicker>
</mat-form-field>
</div>
<div class="col-sm-2">
<mat-form-field appearance="outline">
<mat-label>To Date</mat-label>
<input matInput [matDatepicker]="picker2" [min]="minDate" [max]="maxDate" [value]="date.value || ''" (dateChange)="onDateSelectionChanged1($event)">
<mat-datepicker-toggle matSuffix [for]="picker2"></mat-datepicker-toggle>
<mat-datepicker #picker2></mat-datepicker>
</mat-form-field>
</div>
我的打字稿代码如下。
onDateSelectionChanged(event:any) {
const futureMonth = moment(event.target.value).add(1, 'M');
console.log('future', futureMonth);
this.minDate =event.target.value;
this.maxDate =futureMonth;
const startDate = moment(event.target.value).format('YYYY-M-DD');
if(startDate === 'Invalid date') {
this.fromDate = '';
this.toDate = '';
} else {
this.fromDate = startDate;
}
this.fromDate = startDate;
if(!isEmpty(this.toDate) && !isEmpty(this.fromDate)) {
this.formFilter.controls['order_dates'].setValue({from: this.fromDate, to: this.toDate});
} else {
this.formFilter.controls['order_dates'].setValue({});
}
}
在这里,我需要确定to date
字段的最大日期,该日期将从日期选择器from date
起1个月之后,但对于我来说,min
日期可以正常工作,但最大日期为不起作用。