仅在相应的输入焦点上显示Mat-hint

时间:2018-11-13 11:05:46

标签: angular angular-material

我在HTML中添加了一个mat-h​​int元素。 我只想在用户将焦点放在相应的表单字段上时显示mat-h​​int,并在焦点上隐藏提示。 如何在所有表单域中实现此方案。

<mat-hint align="end">Max 50 characters</mat-hint>

2 个答案:

答案 0 :(得分:3)

您可以将(focusout)focusState与称为<input name="date" type="text" (focus)="focusState = true" (focusout)="focusState = false"> <mat-hint align="end" *ngIf="focusState">Max 50 characters</mat-hint> 的引用一起使用

<div *ngFor="let item of array">
   <input #item name="date" type="text" (focus)="item.alt = true" (focusout)="item.alt = false">
   <mat-hint align="end" *ngIf="item.alt">Max 50 characters</mat-hint>
</div>

编辑

处理多个项目

react native

答案 1 :(得分:1)

我只用 css 解决了这个问题。不专注时隐藏。

.mat-form-field:not(.mat-focused) .mat-hint {
    display: none;
}