垫自动完成多个字段

Rob*_*and 3 forms autocomplete angular-material angular mat-autocomplete

我正在使用 Mat-Autocomplete,但由于某种原因,它仅在我使用 1 个字段时才有效,当我添加另一个第二个字段时,会发生一些奇怪的事情。

在字段 1 和字段 2 中,我在下拉列表中得到相同的选项,这些选项是仅在我编辑字段 2 时才可用的选项。

甚至有可能有超过 1 个领域,我从来没有看到任何关于这个问题的例子。

场1

<div class="col input-group mb-3">
  <div class="input-group-prepend">
    <span class="input-group-text">Sender</span>
  </div>
  <mat-form-field>
  <input matInput [matAutocomplete]="auto" type="text" class="form-control" (ngModelChange)="change()" [(ngModel)]="terms[sender]" [ngModelOptions]="{standalone: true}">
  <mat-autocomplete #auto="matAutocomplete">
    <mat-option *ngFor="let document of documents" [value]="document._source.field.Sender">
      <span>{{document._source.field.Sender}}</span>
    </mat-option>
  </mat-autocomplete>
  </mat-form-field>
</div>
Run Code Online (Sandbox Code Playgroud)

场2

    <div class="col input-group mb-3">
  <div class="input-group-prepend">
    <span class="input-group-text">Receiver</span>
  </div>
  <mat-form-field>
    <input matInput [matAutocomplete]="auto" type="text" class="form-control" (ngModelChange)="change()" [(ngModel)]="terms[receiver]" [ngModelOptions]="{standalone: true}" >
    <mat-autocomplete #auto="matAutocomplete">
      <mat-option *ngFor="let document of documents" [value]="document._source.field.Receiver">
        <span>{{document._source.field.Receiver}}</span>
      </mat-option>
    </mat-autocomplete>
  </mat-form-field>
</div>
Run Code Online (Sandbox Code Playgroud)

Mel*_*Mel 13

两个自动完成具有相同的名称auto,它们需要具有不同的名称:

<input matInput [matAutocomplete]="auto1"...
<mat-autocomplete #auto1=...
...
<input matInput [matAutocomplete]="auto2"...
<mat-autocomplete #auto2=...
Run Code Online (Sandbox Code Playgroud)

  • 我们可以在 ngFor 循环内动态分配 #auto1, #auto2,.... 吗? (7认同)