2017-05-04 152 views
3

我在自動設置正確選項selected時遇到問題。我嫌疑人,原因可能是因爲Angular不明白price.currencylet 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[]列表。

最後......我也試過在<option>上加了[selected]="price.currency.id == currency.id"的參數沒有任何結果。可能因爲ngValue覆蓋它。

想法?

回答

1

正如您所想,無法從currencies陣列中識別出price.currency。您可以通過在這兩者之間創建引用來綁定這兩個值。它可以在收到的貨幣(和price)後進行的,例如像這樣:

this.price.currency = this.currencies.find(x => x.id == this.price.currency.id) 

這是我一直在尋找一個Demo

+0

這是解決方案。無法在其他地方找到它!做得好。謝謝。 –

+0

不客氣,很高興我能幫忙! :) – Alex