gypjoy

全干工程师

解决Angular2动态表单丢失焦点问题

当数组是原始类型时,就会发生这种情况。这可以通过使用TrackBy来解决。因此,更改模板以匹配以下内容:

<div *ngFor="let value of field.values; let i=index; trackBy:trackByFn">
    <input type="text" [(ngModel)]="field.values[i]"  /><br/>
</div>
<div>
    <button (click)="addValue(field)">Click</button>
</div>

并在ts文件中添加函数trackByFn,该函数返回值的(唯一)索引:

trackByFn(index: any, item: any) {
   return index;
}

留言