4

我在我的项目中使用 angular material/mat-datepicker 并且每当用户在其中输入一个数字并失去焦点时 - 日期选择器会自动以随机日期完成。

例子

只需进入1并失焦,或进入5/5/20

日期选择器自动添加日期

更新:我也在使用响应式表单,并且正在使用该方法验证输入

我可以禁用这个吗?

4

1 回答 1

1

我知道现在回答这个问题为时已晚。但是,我也遇到了与反应形式相同的问题,并通过以下方式禁用了 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()}`;
}
于 2020-02-01T17:07:45.300 回答