如何在 Angular Material 中有 "simple" 可替换的占位符文本?
How to have "simple" replacable placeholder text in Angular Material?
我想要“简单”的占位符文本(即当用户开始输入时被替换的占位符文本)。
我正在尝试以下代码:
<mat-form-field *ngIf="hasVisibleChild(item) && item.display == 'Email'">
<mat-icon fontIcon="mail" matPrefix></mat-icon>
<mat-label matPrefix class="placeholder-text">Enter Email ID</mat-label>
<input matInput type="email" (change)="onChange($event)" #emailAddress/>
</mat-form-field>
但是,输入出现在我键入的文本之前:
此外,我尝试了以下方法:
<mat-form-field *ngIf="hasVisibleChild(item) && item.display == 'Email'">
<input matInput type="email" (change)="onChange($event)" #emailAddress placeholder="Enter Email ID" />
</mat-form-field>
但是,文本出现在输入上方:
使用 <mat-placeholder>
标签与第二张截图有类似的效果。
有谁知道如何将其更改为“标准”占位符文本?还是我最好完全绕过 Angular 而只使用标准 HTML 元素?
如果不需要标签(只有占位符),你可以这样做:
<mat-form-field [floatLabel]="'never'" appearance="fill">
<input matInput placeholder="Placeholder">
</mat-form-field>
未插入值时显示占位符,存在值时仅显示值。
如果除了占位符之外还需要标签,可以这样做:
<mat-form-field [floatLabel]="'always'" appearance="fill">
<mat-label>Fill form field</mat-label>
<input matInput placeholder="Placeholder">
</mat-form-field>
这里重要的设置是floatLabel,这里描述:https://material.angular.io/components/form-field/overview#floating-label :)
如果您喜欢其他样式,也可以更改输入样式:https://material.angular.io/components/form-field/overview#form-field-appearance-variants
我想要“简单”的占位符文本(即当用户开始输入时被替换的占位符文本)。
我正在尝试以下代码:
<mat-form-field *ngIf="hasVisibleChild(item) && item.display == 'Email'">
<mat-icon fontIcon="mail" matPrefix></mat-icon>
<mat-label matPrefix class="placeholder-text">Enter Email ID</mat-label>
<input matInput type="email" (change)="onChange($event)" #emailAddress/>
</mat-form-field>
但是,输入出现在我键入的文本之前:
此外,我尝试了以下方法:
<mat-form-field *ngIf="hasVisibleChild(item) && item.display == 'Email'">
<input matInput type="email" (change)="onChange($event)" #emailAddress placeholder="Enter Email ID" />
</mat-form-field>
但是,文本出现在输入上方:
使用 <mat-placeholder>
标签与第二张截图有类似的效果。
有谁知道如何将其更改为“标准”占位符文本?还是我最好完全绕过 Angular 而只使用标准 HTML 元素?
如果不需要标签(只有占位符),你可以这样做:
<mat-form-field [floatLabel]="'never'" appearance="fill">
<input matInput placeholder="Placeholder">
</mat-form-field>
未插入值时显示占位符,存在值时仅显示值。
如果除了占位符之外还需要标签,可以这样做:
<mat-form-field [floatLabel]="'always'" appearance="fill">
<mat-label>Fill form field</mat-label>
<input matInput placeholder="Placeholder">
</mat-form-field>
这里重要的设置是floatLabel,这里描述:https://material.angular.io/components/form-field/overview#floating-label :)
如果您喜欢其他样式,也可以更改输入样式:https://material.angular.io/components/form-field/overview#form-field-appearance-variants