簡體   English   中英

Angular ng-option按鍵排序

[英]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.

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