我有一份载有就业记录的数据。我有两个字段用于我的就业,dateTo:
yearTo, monthTo我需要根据最近的就业dateTo对就业历史进行正确的排序,我可以这样做
<tr id="employment_history_" ng-repeat="history in candidate.employmentHistory | orderBy : ['-yearTo','monthTo',] | date:['YYYY', 'MMM'] ">它工作正常。但我有一个问题。字段monthTo还可以包含一个值Present,而不是仅包含月份、日期、格式、MMM等。
问我该如何排序,我知道我有一个date格式,但我希望将monthTo值Present的记录放在列表的第一位?
发布于 2017-03-02 08:47:14
所以这个JSFiddle可以帮助你朝着正确的方向前进:JSFiddle
之所以这样做,是因为您可以给orderBy指令一个谓词数组,就像您在提供的示例中所做的那样。然而,在您的示例中,您只使用字符串谓词,而也可以使用函数谓词。函数谓词将接收您要订购的项,您可以选择要返回的项,因此角可以使用该值来排序该值。
ng-repeat="hist in main.history | orderBy: ['-yearTo', main.orderMonthTo]"
this.orderMonthTo = function(item) {
if (item.monthTo === 'Present') {
return -13;
} else {
return Number(moment(item.monthTo, 'MMM').format('M'))*-1;
}
}https://stackoverflow.com/questions/42548405
复制相似问题