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