2016-08-12 64 views
2

我可以加載沒有問題跟蹤事件等選擇框。我不能做的是設置初始值。angular2 - 如何設置選擇框的初始值

[ { "id": "1", "name": "USD" }, { "id": "2", "name": "EUR" }] 

<select [(ngModel)]="model_initials.currency" (ngModelChange)="onChange($event)" class="custom-select form-control"> 
      <option [ngValue]="i" *ngFor="let i of basecurrency" [ngModel]="{selected: model_initials.currency.id == 'i.id'}">{{i.name}}</option> 
      </select> 

假設我想要id:2那麼我該如何設置?

我得到這個錯誤:

平臺browser.umd.js:1900原來的異常:沒有價值訪問爲「」

回答

2

下面嘗試,

<select (change)="onChange($event.target.value)"> 
    <option *ngFor="let i of basecurrency" 
      [value]="i" 
      [selected]="model_initials.currency.id == i.id" 
      > 
      {{i.name}} 
     </option> 
    </select> 

希望這有助於!

+0

哇..大我一直在爲此而苦苦掙扎。謝謝! – Tampa

+0

但$ event.target.value在change事件上返回[object Object]。那是什麼?我如何獲得新的選定值? – Tampa

+0

它返回整個對象,這取決於你需要什麼,你可以使用事件中對象的屬性。 –

1

使用三級條件設置「選擇」屬性。

事情是這樣的:

<select [(ngModel)]="model_initials.currency"> 
    <option *ngFor="let i of baseCurrency" [attr.value]="i" [attr.selected]="i.id === 2 ? true : null">{{ i.name }}</option> 
</select>