我在项目中使用角度材质/ mat-datepicker,并且每当用户在其中输入一位数字并失去焦点时,日期选择器就会自动完成,并带有 random 日期。
只需输入1
并失去焦点,或者输入5/5/20
日期选择器会自动添加日期
更新:另外,我正在使用反应式表单,并且正在使用该方法来验证输入
我可以禁用此功能吗?
答案 0 :(得分:0)
我知道现在回答这个问题为时已晚。但是,我也遇到了反应式表单的同类问题,并通过以下方式禁用了MatDatePicker自动完成功能。
<mat-form-field>
<input matInput #autocomplete placeholder="Choose a date" formControlName="datePicker">
<input type="hidden" [matDatepicker]="picker" placeholder="Choose a date" formControlName="datePicker" (dateChange)="autocomplete.value = toFormattedDate($event.value)">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
在组件中创建以下“ toFormattedDate”方法。
toFormattedDate(iso: string) {
const date = new Date(iso);
console.log(date);
return `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}`;
}