[英]Angular select keeps generating default missing option
我有一個select
在agGrid
內部渲染。 沒有什么特別復雜的。
<select ng-model="data.stdPayerClassFnbr" ng-change="vm.save(data)" style="width: 100%"
ng-options="item.stdPayerClass for item in vm.payerClassList track by item.id">
</select>
瘋狂的是這個; 我一直在獲取缺失值選項:
<option value="?" selected="selected"></option>
即使data.stdPayerClassFnbr
的值存在於呈現選項列表中:
<option value="1" label="TBD">TBD</option>
data.stdPayerClassFnbr
和item.id
的基礎數據類型是int
; 但是我已經嘗試通過在綁定它們之前對它們的值執行map
來使它們都成為string
。 這沒有用。 我必須配置這個select
錯誤。
我也嘗試過ng-repeat
方法:
<select ng-model="data.stdPayerClassFnbr" ng-change="vm.save(data)" style="width: 100%">
<option ng-repeat="item in vm.payerClassList" value="{{item.id}}">{{item.stdPayerClass}}</option>
</select>
這也沒有幫助。
確保stdPayerClassFnbr
模型對象具有與payerClassList[x]
項相同的屬性。 特別是屬性id
和stdPayerClass
我發現了這個問題。 這是表達的track by
。 由於我綁定到從查找返回的對象數組,因此在選擇或查找值時,它通過引用查找整個對象。 track by
表達式刪除track by
導致綁定直接對數值起作用:
<select ng-model="data.stdPayerClassFnbr" ng-change="vm.save(data)" style="width: 100%"
ng-options="item.id as item.stdPayerClass for item in vm.payerClassList">
</select>
這會生成一個非常不同的選項列表:
<option value="number:1" label="TBD" selected="selected">TBD</option>
我希望這有助於將來的某些人! 它甚至可能有一天幫助我!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.