从昨天开始,我正在努力解决角材料2 datepicker的问题,
在最后一次npm安装之前,它工作正常,现在我得到:
ERROR Error: Datepicker: value not recognized as a date object by DateAdapter.
HolidayRequestComponent.html:21
第21行是我的<输入开始的地方
<md-input-container [formGroup]="daterangeForm">
<input
mdInput
name="date_from"
[mdDatepicker]="from"
placeholder="Start date"
formControlName="holidayDataControl"
[ngModel]="date_from"
>
<md-datepicker-toggle mdsuffix [for]="from"></md-datepicker-toggle>
</md-input-container>
<md-datepicker #from></md-datepicker>
我的组件:
import {Component, OnInit, Inject } from '@angular/core';
import {MD_DIALOG_DATA, mddialog } from '@angular/material';
import {FormBuilder, FormControl, FormGroup, NgForm, Validators} from '@angular/forms';
import {Observable} from 'rxjs/Observable';
@Component({
selector: 'app-holiday-request',
templateUrl: './holiday-request.component.html',
styleUrls: ['./holiday-request.component.css']
})
export class HolidayRequestComponent implements OnInit {
public date_from = new Date();
constructor(@Inject(MD_DIALOG_DATA) public data: any,
private fb: FormBuilder,
) {
this.daterangeForm = new FormGroup({
holidayDataControl: new FormControl('', Validators.required)
});
}
}
解决方法:
根据https://github.com/angular/material2/issues/6265
空字符串不是可接受的值,它会引发以下错误:
Datepicker: value not recognized as a date object by DateAdapter.
所以解决方案就是改变
this.daterangeForm = new FormGroup({
holidayDataControl: new FormControl('', Validators.required)
});
至
this.daterangeForm = new FormGroup({
holidayDataControl: new FormControl(null, Validators.required)
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。