是否可以在Angular的选择标签中使用ngFor?

时间:2019-02-25 16:18:27

标签: javascript html angular typescript

因此,我有一个独特的用例,其中我必须显示具有多个选项(每个)的多个选择标签。 因此,数据结构是对象数组的数组。

<div class="form-group row" *ngIf="myData">
  <select [(ngModel)]="singleData" *ngFor="let singleSelectGroup of myData; let i=index" class="form-control form-control-lg" name="mySelectGroup">
    <option *ngFor="let singleOptionGroup of singleSelectGroup" [ngValue]="singleTag">{{singleOption.name}}</option>
  </select>
</div>

现在,显然这是行不通的,因为每次只有一个ngModel时,每次我从下拉列表中选择一个选项时,其他所有选择的选项都将变为空白。 有没有办法解决这种用例呢? 同样,具有默认选择和禁用属性的任何选项标签也将变为空白。 任何帮助或朝正确方向的推动都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以改用数组,并将ngModel绑定到array[i]

这是一个基本示例,您可以根据需要进行自定义:

export class MyComponent {
  allData = [];
}
<div class="form-group row" *ngIf="myData">
  <select [(ngModel)]="allData[i]" *ngFor="let singleSelectGroup of myData; let i=index" class="form-control form-control-lg" name="mySelectGroup">
    <option *ngFor="let singleOptionGroup of singleSelectGroup" [ngValue]="singleTag">{{singleOption.name}}</option>
  </select>
</div>