Я пытаюсь сортировать по статусу приложения.
У меня в моем приложении много статусов:
notStarted,
inProgress,
declined,
accepted,
manual,
outOfService,
Review
<div ng-repeat="item in Data | orderBy:'Status'>
</div>
orderBy status сортировать все данные по алфавиту. Я хочу сортировать, основываясь на следующем порядке:
accepted,
inProgress,
outOfService,
Review,
manual,
declined,
notStarted
Любая идея, как это сделать на angularjs?
Вы можете использовать пользовательскую функцию сортировки в ng-repeat
, как показано ниже:
$scope.statusSortFn = function(item) {
var sortMap = {
'accepted': 1,
'inProgress': 2,
'outOfService': 3,
'Review': 4,
'manual': 5,
'declined': 6,
'notStarted': 7,
}
return sortMap[item.Status];
}
Затем в HTML,
ng-repeat="item in Data | orderBy:statusSortFn"
item.Status
- это не текст, вы просто адаптируете его, чтобы можно было использовать функцию для сортировки ваших данных,orderBy
может использовать функции, а не только поля объекта