【发布时间】:2018-12-27 18:11:45
【问题描述】:
我有一个 ngFor 循环,如下所示。
<div *ngFor= "let transporter of transporters">
<input type="text" [(ngModel)]= "transporter.name" #inputTransporter *ngIf="openTransporterFreightEditing">
<mat-icon class="cursor-btn" (click)="openEdit()">mode_edit</mat-icon>
</div>
以及TS代码:
openTransporterFreightEditing:boolean = false
@ViewChild('inputTransporter') inputTransporter: ElementRef;
openEdit() {
this.openTransporterFreightEditing = true
this.inputTransporter.nativeElement.focus()
}
输入字段最初是隐藏的。单击编辑符号时,输入变为可见。我想在输入可见时立即集中它。但是,我想通过使用 nativeElement.focus() 来关注一个特定的输入,但由于循环创建的每个输入元素中的相同 ID“inputTransporter”,我遇到了困难。
如何基于(单击)关注一个特定的输入 ID。如果我必须为每个元素生成唯一 ID,我可能必须使用 [attr.id],它不适用于 @ViewChild。
我在 stackblitz 中的代码:
https://stackblitz.com/edit/angular-4hedvr?file=src%2Fapp%2Fapp.component.ts
【问题讨论】:
标签: javascript angular typescript