Angular 角度6材质matdatePicker,表单字段上带有浮动标签

Angular 角度6材质matdatePicker,表单字段上带有浮动标签,angular,date,input,angular-material,Angular,Date,Input,Angular Material,我相信我在使用[matDatePicker]时在Angular Materials输入组件中发现了一个bug,并创建了一个stackblitz 使用[matDatePicker]以及在mat表单字段上使用[floatLabel]时,似乎存在问题。当用户在字段中键入而不是单击并从日期选择器中选择时,文本将位于输入字段的标签或占位符文本的顶部 正如安德鲁·洛班(Andrew Lobban)在评论中指出的那样,这看起来确实像某种缺陷。你应该在报到处报到 作为解决方法,您可以将mat占位符与ngIf一起

我相信我在使用
[matDatePicker]
时在Angular Materials输入组件中发现了一个bug,并创建了一个stackblitz

使用
[matDatePicker]
以及在
mat表单字段上使用
[floatLabel]
时,似乎存在问题。当用户在字段中键入而不是单击并从日期选择器中选择时,文本将位于输入字段的标签或占位符文本的顶部


正如安德鲁·洛班(Andrew Lobban)在评论中指出的那样,这看起来确实像某种缺陷。你应该在报到处报到

作为解决方法,您可以将mat占位符与ngIf一起使用:

<mat-form-field [floatLabel]="'never'">
  <mat-placeholder *ngIf="!input.value">Choose a date</mat-placeholder>
  <input #input matInput [matDatepicker]="picker">
  <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
  <mat-datepicker #picker></mat-datepicker>
</mat-form-field>

选择一个日期

哪个浏览器?在Chrome中似乎还可以,我想编辑我刚刚看到,只有当你首先键入字母时,如果输入是乱七八糟的或不是日期选择器可以理解的格式,则似乎应该显示验证错误。如果您在
short
long
格式中输入了有效的密码,则可以正常工作。因此,当出现胡言乱语时,我怀疑应该有办法处理它。谢谢,我将把这个问题提交给github。你的变通方法有效。