错误:Datepicker:选择日期

时间:2017-09-05 07:50:58

标签: angular datepicker angular-material2

我正在使用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);
}

当我从日期选择器中删除线条时,它完美地运行

0 个答案:

没有答案