Сортировка строки enum в Typescript и AngularJS

0

У меня есть перечисление, указанное в Typcript:

enum PriorityLevel {
High = <any>'High',
Normal = <any>'Normal',
Low = <any>'Low'}

Тогда в моем html у меня есть:

<button id= "assignmentBtn" type="button" ng-repeat="item in list.getItems()" class="btn" ng-class="list.getcolor(item)">
        {{item.description}}
</button>

Где каждый элемент имеет PriorityLevel.

Мой вопрос в том, что я хочу отсортировать этот список с помощью PriorityLevel, так что High находится сверху, затем Normal, а затем Low. Я попытался добавить

ng-repeat="item in list.getItems() | orderBy:'priority'"

Но, очевидно, это заказывает предметы в альпах.

Мне нужно, чтобы я сделал пользовательскую функцию orderby, но может ли кто-нибудь помочь мне в том, как это должно выглядеть в моем случае?

Теги:
enums

1 ответ

1
Лучший ответ

Мне нужно, чтобы я сделал пользовательскую функцию orderby, но может ли кто-нибудь помочь мне в том, как это должно выглядеть в моем случае?

Прямо к пользовательской функции в контроллере:

ng-repeat="item in list.getItems() | orderBy:list.customOrder"

И customOrder:

customOrder = function(item) {
   return item.priority === 'High' ? 3
          : item.priority === 'Normal' ? 2 
          : 1
};
  • 1
    Спасибо друг! работает отлично!

Ещё вопросы

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