angularjs: сортировка с использованием статусов приложения?

0

Я пытаюсь сортировать по статусу приложения.

У меня в моем приложении много статусов:

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?

Теги:
sorting
angularjs-ng-repeat

1 ответ

0

Вы можете использовать пользовательскую функцию сортировки в 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"
  • 0
    Невозможно оценить статусы. Это происходит из другого домена. только текст, который мы можем использовать.
  • 0
    Ключами к этой карте сортировки являются текст, если item.Status - это не текст, вы просто адаптируете его, чтобы можно было использовать функцию для сортировки ваших данных, orderBy может использовать функции, а не только поля объекта

Ещё вопросы

Сообщество Overcoder
Наверх
Меню