【发布时间】:2017-04-05 11:16:18
【问题描述】:
我有以下代码用于选择下拉菜单:
<select id="UnitOfMeasurementId" name="UnitOfMeasurementId" [(ngModel)]="UnitOfMeasurementId">
<option *ngFor="let unit of UnitOfMeasurements" [ngValue]="unit.Value" [selected]="unit.Selected">{{unit.Text}}</option>
</select>
UnitOfMeasurements 数组中的每个项目看起来像这样:
Selected: false
Text: "lb"
Value: "1"
或者这个:
Selected: true
Text: "kg"
Value: "3"
[(ngModel)]="UnitOfMeasurementId" 包含应选择的项目的值。在此特定示例中,该值为 3,因此应选择第 3 个项目。果然,当我检查元素时,它在正确的项目上显示ng-reflect-selected="true",但实际上没有选择任何内容。如何在列表中获取正确的项目以实际动态选择而不是仅添加 ng-reflect-selected="true" 属性?
【问题讨论】:
-
尝试使用
[attr.selected]而不是[selected] -
这也不起作用。它将 selected="true" 设置为应选择的一项,并将所有其他项设置为 "selected="false",但实际上并未选择该项目。下拉标签为空白,因此用户认为没有选择任何内容。
标签: angular ngfor angular2-ngmodel