簡體   English   中英

ng-options orderBy鍵值對中的值

[英]ng-options orderBy value in key value pairs

我不能為了一個鍵值對相對於value 按字母順序排列

我正在使用的示例是

"week_days_short":[
    {"key":"1","value":"Mon"},
    {"key":"2","value":"Tue"},
    {"key":"4","value":"Thu"},
    {"key":"3","value":"Wed"},
    {"key":"5","value":"Fri"},
    {"key":"6","value":"Sat"},
    {"key":"7","value":"Sun"}
]

我使用了以下代碼,

ng-options="key as value for (key, value) in 
            properties.week_days_short | 
            orderBy:'value' track by value"

但是排序沒有發生。 有什么建議么?

 angular.module("app",[]) .controller("ctrl", function($scope) { $scope.properties = { "week_days_short":[ {"key":"1","value":"Mon"}, {"key":"2","value":"Tue"}, {"key":"4","value":"Thu"}, {"key":"3","value":"Wed"}, {"key":"5","value":"Fri"}, {"key":"6","value":"Sat"}, {"key":"7","value":"Sun"} ]}; }) 
  <script src="//unpkg.com/angular/angular.js"></script> <body ng-app="app" ng-controller="ctrl"> selection={{selection}}<br> Select with Alphabetical Order<br> <select ng-model="selection" ng-options="item.key as item.value for item in properties.week_days_short | orderBy:'value' track by item.value"> <option value="">Select day</option> </select> </body> 

PLNKR上演示

有關更多信息,請參見

由於HTML中的orderBy無法在Object上運行,因此week_days_short是數組。 因此,按控制器排序解決了我的問題。

Object.values($scope.properties.week_days_short).sort()

我認為它可以幫助您。

ng-options="key as value.sort((a, b) => a.key.localeCompare(b.key)) for (key, value) in 
        properties.week_days_short | 
        orderBy:'value' track by value"

這是參考: 在ES6 / ES2015或更高版本中,您可以這樣做

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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