我正在使用material datepicker。
<md-form-field [formGroup]="groupName">
<input mdInput
placeholder="{{ 'date' | translate }}"
[mdDatepicker]="picker"
[formControlName]="controlName"
[(value)]="date"
[min]="min">
<md-datepicker-toggle mdSuffix [for]="picker"></md-datepicker-toggle>
<md-datepicker #picker></md-datepicker>
</md-form-field>
当视图中的内容完美加载且我的date
变量等于null
时。但是,当我在日历中选择日期时,我收到此错误:
Error: Datepicker: value not recognized as a date object by DateAdapter.
我发现很多关于这个错误的主题出现了,因为组件有一个字符串作为日期,这是不允许的,但是我的日期inits为null,这是允许的。
我认为我的数据绑定有问题吗?
修改 我发现了造成这个问题的原因。
<md-form-field [formGroup]="groupName">
<input mdInput
placeholder="{{ 'date' | translate }}"
[mdDatepicker]="picker"
[formControlName]="controlName"
[(value)]="date"
[min]="min"
(dateChange)="handleDateChange($event)"
(dateInput)="handleDateInput($event)">
<md-datepicker-toggle mdSuffix [for]="picker"></md-datepicker-toggle>
<md-datepicker #picker></md-datepicker>
</md-form-field>
当我添加
(dateChange)="handleDateChange($event)"
(dateInput)="handleDateInput($event)">
它会触发错误,但处理程序不会做任何特殊操作。
public handleDateChange(e: any) {
console.log(e);
this.dateChange.emit(e);
}
public handleDateInput(e: any) {
this.dateInput.emit(e);
}
当我从日期选择器中删除线条时,它完美地运行