我在将正确选项自动设置为selected
时遇到问题。我怀疑原因可能是因为Angular不理解price.currency
和let currency of currencies
是同一个对象。
<select [(ngModel)]="price.currency" class="form-control">
<option *ngFor="let currency of currencies" [ngValue]="currency">
{{currency.iso_code}}
</option>
</select>
我已经为price
和currency
创建了模型类,如下所示:
export class ProductPrice {
id: number;
product: number;
price: number;
taxrule: Taxrule;
currency: Currency;
}
当我获取currencies
的列表时,我将其转换为Currency[]
列表。
最后......我还尝试将[selected]="price.currency.id == currency.id"
参数添加到<option>
而没有任何结果。可能是因为ngValue
会覆盖它。
想法?
答案 0 :(得分:1)
如您所知,无法从price.currency
数组中识别currencies
。您可以通过在这两个值之间创建引用来绑定这两个值。您可以在收到货币(和price
)后执行此操作,例如:
this.price.currency = this.currencies.find(x => x.id == this.price.currency.id)
这是 Demo