Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度材质日期选择器(MatDatepicker)自动完成焦点输出日期_Angular_Datepicker_Angular Material_Angular6_Angular Material Datetimepicker - Fatal编程技术网

Angular 角度材质日期选择器(MatDatepicker)自动完成焦点输出日期

Angular 角度材质日期选择器(MatDatepicker)自动完成焦点输出日期,angular,datepicker,angular-material,angular6,angular-material-datetimepicker,Angular,Datepicker,Angular Material,Angular6,Angular Material Datetimepicker,我在我的项目中使用了angular material/mat datepicker,每当用户在其中输入一位数字,然后失去焦点时,date picker就会自动完成一个随机日期 只需输入1并离开焦点,或输入5/5/20 日期选择器正在自动添加日期 更新:我也在使用反应式表单,并用这种方法验证输入 我可以禁用它吗?我知道现在回答这个问题已经太迟了。但是,我也遇到了与被动表单相同的问题,并通过以下方式禁用MatDatePicker自动完成 <mat-form-field> <

我在我的项目中使用了angular material/mat datepicker,每当用户在其中输入一位数字,然后失去焦点时,date picker就会自动完成一个随机日期

只需输入
1
并离开焦点,或输入
5/5/20

日期选择器正在自动添加日期

更新:我也在使用反应式表单,并用这种方法验证输入


我可以禁用它吗?

我知道现在回答这个问题已经太迟了。但是,我也遇到了与被动表单相同的问题,并通过以下方式禁用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>

您的意思是,如果您输入
5/5/20
并将其变为:
5/5/2020
?是的可能重复,但在不同的变体上,它返回不同的日期-但是,这没关系-我想强制用户输入一个完整的有效日期,顺便说一句,我没有看到重复的结果,因为接受的答案只适用于一种情况,那么反应式表单呢instance@JustDontKnow问题或提供的链接中未提及被动形式案例。因此标记为重复。
toFormattedDate(iso: string) {
  const date = new Date(iso);
  console.log(date);
  return `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}`;
}