角度Mat-icon显示焦点

时间:2019-04-30 08:41:17

标签: angular angular-material angular-forms

所以我有以下html:

<mat-form-field>
   <input matInput id={{item.value.fieldID}} formControlName="view"
     placeholder={{item.value.displayname}} />
   <mat-error *ngIf="item.controls.view.valid"></mat-error>
   <button mat-button *ngIf="item.value.view" matSuffix mat-icon-button aria-label="Clear" (click)="clear(i, j)">
     <mat-icon>close</mat-icon>
   </button>
</mat-form-field>

我在FormArray中使用了反应形式。但是除此之外,我在formcontrol上遇到了事件方面的问题。感动是一个不错的。

我尝试使用:

*ngIf="item.value.view && item.controls.view.touched"
(blur)="item.controls.view.markAsUntouched();"
(focus)="item.controls.view.markAsTouched();"

但是当我单击按钮时,模糊将在按钮单击之前触发,因此在单击事件发生之前按钮将消失。

有什么办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我自己弄清楚了。我将另一个事件称为mouseDown。此事件将触发模糊事件的前端,也不会取消它。

所以我改变的是:

   <button mat-button *ngIf="item.value.view" matSuffix mat-icon-button aria-label="Clear" (click)="clear(i, j)">
     <mat-icon>close</mat-icon>
   </button>

对此(带有模糊和聚焦事件):

<mat-icon *ngIf="item.value.view && item.controls.view.touched" matSuffix (mousedown)="clear(i, j);">close</mat-icon>