我有一个表,其中有一列包含文本框。
我在该文本框中使用自动完成功能,如下所示:
<tr *ngFor="let user of newUsers; index as i">
.....
<td>
<input
[matAutocomplete]="auto"
placeholder="Select Manager" #salesManager>
<mat-autocomplete #auto="matAutocomplete" [displayWith]="displayFn">
<mat-option *ngFor="let tag of filteredManager" [value]="tag" (onSelectionChange)="onSalesManagerChange(i,tag.name,tag.id)">
<span>{{ tag.name | uppercase }}</span>
</mat-option>
</mat-autocomplete>
</td>
</tr>
我在ts文件中也有如下代码:
ngAfterViewInit() {
Observable.fromEvent(this.salesmanager.nativeElement, 'keyup')
.map((evt: any) => evt.target.value)
.debounceTime(1000)
.subscribe((text: string) => this.changeManager(text));
}
问题是this.changeManager()
仅在表的第一行执行,它也应在其他行的文本框上工作,因为它在#salesManager
中具有.html
引用。