【发布时间】:2020-11-25 23:52:53
【问题描述】:
我正在使用 Angular 8 中的 FormArray 做一个自定义表单,并且在每个位置我都有一个自动完成作为输入,但行为不是我所期望的。它只显示在 las 位置输入上。
代码:
<div formArrayName="assignments" *ngFor="let item of myForm.get('assignments')['controls']; let i = index;">
<ng-container [formGroupName]="i">
<div fxLayout="row" fxLayout.lt-md="column" fxLayoutGap="10px">
<mat-form-field fxFlex="30">
<mat-label>{{ 'product.providers.txt.provider' | translate}}</mat-label>
<input type="text" matInput formControlName="id_provider"[matAutocomplete]="providers">
<mat-autocomplete #providers="matAutocomplete" [displayWith]="displayPv">
<mat-option *ngFor="let option of filteredOptions[i] | async" [value]="option.id">
{{option.provider_business_name}}
</mat-option>
</mat-autocomplete>
</mat-form-field>
</div>
</ng-container>
</div>
这是一个例子:
【问题讨论】:
-
你能创建 stackblitz 吗?
-
我无法复制相同的示例,但它基本上是表单数组内的 Angular Material Autocomplete,仅适用于该 FormArray 的最后一个输入,可能它失去了焦点,或者它并不意味着在里面使用一个表单数组!
标签: angular autocomplete angular-material angular8