[英]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>
有關更多信息,請參見
由於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"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.