簡體   English   中英

角度選擇保持生成默認缺失選項

[英]Angular select keeps generating default missing option

我有一個selectagGrid內部渲染。 沒有什么特別復雜的。

<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.stdPayerClassFnbritem.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]項相同的屬性。 特別是屬性idstdPayerClass

我發現了這個問題。 這是表達的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM