3
我有下面的代碼,我正在使用它將一個對象[]綁定到Angular 2.0(rc 1)的選擇列表中。 問題是,最初在呈現選擇列表時,它沒有預先選擇適當的值/索引。在Angular 2中選擇元素的雙向綁定不會在第一次渲染時設置選定元素
在下面的代碼示例中,「ma」是組件的實際類變量。 ma有一個SelectedItemType屬性,它是myItemTypes對象數組中的一個對象。
<select class="form-control" [(ngModel)]="ma.SelectedItemType">
<option *ngFor='let item of myItemTypes'
[ngValue]='item'>{{item.Label}}
</option>
</select>
我試過使用[selected]/[attr.selected]屬性,但它沒有區別。 一些額外的信息: 如果不是對象,如果我綁定使用下面的代碼類型屬性(字符串值)(正常工作):
<select class="form-control" [(ngModel)]="ma.SelectedItemType.Type">
<option *ngFor='let item of myItemTypes'
[value]='item.Type'>{{item.Label}}
</option>
</select>
但是,我真的希望能夠與對象進行雙向數據綁定。你能看到我可能在這裏失蹤的東西嗎?
嗨。謝謝,但我不確定如何讓它指向同一個實例。問題是myItemTypes是我用來填充選擇列表的myItemType對象的單獨列表。而selectedItemType來自另一個@Input對象。他們是相同的「類型」,但我不確定我應該如何讓他們指向同一個實例。 – Chinmoymohanty85
你可以通過比較項目與你自己輸入的值,比如'ma.seletectItemType',在'myItemTypes'中查找實例。 'ma.SelecteItemType = myItemTypes.find(val => val.label === myInput.label && val.xxx === val.xxx)' –