angular7中如何自定义占位符
How to customize the placeholder in angular 7
我正在尝试为我的表单域之一使用占位符。
<mat-form-field>
<mat-label>date</mat-label>
<input class="date-picker form-control" ngx-mydatepicker
placeholder="yyyy-mm-dd"/>
我得到了这个输出。但我不想要垫子标签。但是,当我删除标签时,它会像这样显示
如何使它看起来像上面的占位符。
如所述here、
If you want to create a legacy form field with a placeholder but no label, you will need to specify an empty label to prevent the placeholder from being promoted.
所以,您可以尝试以下操作:
<mat-form-field class="example-full-width">
<mat-label></mat-label>
<input matInput placeholder="Just a placeholder">
</mat-form-field>
我创建了一个stackblitz,请检查最底部的输入字段。
更新
为了在焦点和模糊状态下都有占位符,您可以尝试将 *ngIf
语句添加到 <mat-label>
,该值将由 focus
和 [=15] 更改=] 事件:
<mat-form-field class="example-full-width">
<mat-label *ngIf="focused"></mat-label>
<input matInput
placeholder="Just a placeholder"
(blur)="focused=false"
(focus)="focused=true">
</mat-form-field>
我正在尝试为我的表单域之一使用占位符。
<mat-form-field>
<mat-label>date</mat-label>
<input class="date-picker form-control" ngx-mydatepicker
placeholder="yyyy-mm-dd"/>
我得到了这个输出。但我不想要垫子标签。但是,当我删除标签时,它会像这样显示
如何使它看起来像上面的占位符。
如所述here、
If you want to create a legacy form field with a placeholder but no label, you will need to specify an empty label to prevent the placeholder from being promoted.
所以,您可以尝试以下操作:
<mat-form-field class="example-full-width">
<mat-label></mat-label>
<input matInput placeholder="Just a placeholder">
</mat-form-field>
我创建了一个stackblitz,请检查最底部的输入字段。
更新
为了在焦点和模糊状态下都有占位符,您可以尝试将 *ngIf
语句添加到 <mat-label>
,该值将由 focus
和 [=15] 更改=] 事件:
<mat-form-field class="example-full-width">
<mat-label *ngIf="focused"></mat-label>
<input matInput
placeholder="Just a placeholder"
(blur)="focused=false"
(focus)="focused=true">
</mat-form-field>