[英]Angular ng-option is sorting by keys
我寫這段代碼:
<select required="required" ng-model="category" ng-init="category=''" ng-options="k as v for (k,v) in filter.category"></select>
$scope.filter.region = {
'': 'Все территории',
'1': 'РО',
'2': 'Ростов-на-Дону',
'3': 'Левенцовский',
'4': 'Ворошиловский',
'5': 'Железнодорожный',
'6': 'Кировский',
'7': 'Ленинский',
'8': 'Октябрьский',
'9': 'Первомайский',
'10': 'Пролетарский',
'11': 'Советский'
};
但是Angular按鍵對它進行了排序:
<option value="" selected="selected">Все территории</option>
<option value="1">РО</option>
<option value="10">Пролетарский</option>
<option value="11">Советский</option>
<option value="2">Ростов-на-Дону</option>
<option value="3">Левенцовский</option>
<option value="4">Ворошиловский</option>
<option value="5">Железнодорожный</option>
<option value="6">Кировский</option>
<option value="7">Ленинский</option>
<option value="8">Октябрьский</option>
<option value="9">Первомайский</option>
我該如何解決這個問題? PS:我必須使用ng-options的這個簽名,因為我的價值可以是象征性的。
你可以添加orderBy
:
<select required="required" ng-model="category" ng-init="category=''" ng-options="k as v for (k,v) in filter.category | orderBy:'k'"></select>
角度處理值為字符串,因此11在2之前就可以達到:
$scope.filter.region = {
'': 'Все территории',
'01': 'РО',
'02': 'Ростов-на-Дону',
'03': 'Левенцовский',
'04': 'Ворошиловский',
'05': 'Железнодорожный',
'06': 'Кировский',
'07': 'Ленинский',
'08': 'Октябрьский',
'09': 'Первомайский',
'10': 'Пролетарский',
'11': 'Советский'
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.