Angular 角度材质日期选择器在焦点离开时自动拾取日期

Angular 角度材质日期选择器在焦点离开时自动拾取日期,angular,angular-material,Angular,Angular Material,我使用的是角度材质日期选择器,在输入字段中输入一个或多个数字,然后离开焦点或单击外部时出现问题,日期选择器自动拾取日期 我不想这样挑选。我希望用户输入完整日期,如果不只是将输入字段设置为错误状态 有人能帮忙解决这个问题吗 如何使用假字段输入来输入文本并隐藏其下方的日期选择器/表单字段,以便日期选择器在正确的位置打开(它将打开具有 [matDatepicker]) 您应该在显示输入字段上侦听模糊事件,如果无效,则清除表单字段值。 主要问题是新日期(编号)是有效日期。日期选择器将您的输入转换为日期

我使用的是角度材质日期选择器,在输入字段中输入一个或多个数字,然后离开焦点或单击外部时出现问题,日期选择器自动拾取日期

我不想这样挑选。我希望用户输入完整日期,如果不只是将输入字段设置为错误状态

有人能帮忙解决这个问题吗


如何使用假字段输入来输入文本并隐藏其下方的日期选择器/表单字段,以便日期选择器在正确的位置打开(它将打开具有 [matDatepicker])

您应该在显示输入字段上侦听模糊事件,如果无效,则清除表单字段值。 主要问题是新日期(编号)是有效日期。日期选择器将您的输入转换为日期,并将其作为新字段值发出。自定义逻辑可以在模糊事件上执行,可能需要使用矩.js来执行

如果它是无效的实际形式字段值应设置为空

当通过日期选择器选择日期或显示初始值时,也应更新显示字段值

<mat-form-field [formGroup]="dateFormGroup">
  <input matInput (blur)="onBlurEvent($event)" placeholder="Choose a date">
  <input type="hidden" formControlName="date" [matDatepicker]="picker">
  <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
  <mat-datepicker #picker></mat-datepicker>
</mat-form-field>


这个逻辑应该包装在一个自定义表单控件中,或者至少包装在一个专用组件中,因为它是模块化的,在多个位置使用它会导致很多错误。

使用假字段输入来输入文本并隐藏它下面的日期选择器/表单字段,以便日期选择器在正确的位置打开(它将打开下面的字段,该字段具有 [matDatepicker])

您应该在显示输入字段上侦听模糊事件,如果无效,则清除表单字段值。 主要问题是新日期(编号)是有效日期。日期选择器将您的输入转换为日期,并将其作为新字段值发出。自定义逻辑可以在模糊事件上执行,可能需要使用矩.js来执行

如果它是无效的实际形式字段值应设置为空

当通过日期选择器选择日期或显示初始值时,也应更新显示字段值

<mat-form-field [formGroup]="dateFormGroup">
  <input matInput (blur)="onBlurEvent($event)" placeholder="Choose a date">
  <input type="hidden" formControlName="date" [matDatepicker]="picker">
  <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
  <mat-datepicker #picker></mat-datepicker>
</mat-form-field>


此逻辑应该包装在自定义表单控件中,或者至少包装在专用组件中,因为它是模块化的,在多个位置使用它会导致许多错误。

Thank you@RandomCode。将尝试使用@RandomCode存储您。将尝试