Как сделать обратную сортировку снова после сортировки массива объектов? - PullRequest
0 голосов
/ 19 февраля 2020

Я делаю список элементов, используя v-for, и для каждого свойства я пытаюсь отсортировать их по возрастанию и убыванию.

Дело в том, что я запускаю функцию сортировки на v -btn сортировать по возрастанию, но когда я нажимаю снова, ничего не происходит. Я хотел бы изменить сортировку и т. Д. c. когда я снова нажимаю на него.

Мой текущий метод для моей собственности:

sortByScope()
      {
        this.alerts.sort(function(a, b){
            if(a.scope < b.scope){ return -1 }
            if(a.scope > b.scope){ return 1 }
            return 0
        })
      },

У вас есть какие-нибудь идеи?

Спасибо за ваше внимание

1 Ответ

1 голос
/ 19 февраля 2020

Если я правильно понимаю ваш вопрос, вы хотите, чтобы ваша кнопка сортировала по возрастанию или по убыванию на основе текущей сортировки столбца. Это можно сделать с помощью переключателя:

sortByScope() {
  this.alerts.sort(function (a, b) {
    return this.sortScopeToggle
      ? a - b
      : b - a;
  });
  this.sortScopeToggle = !this.sortScopeToggle;
}

Где sortScopeToggle - логическое значение, которое отслеживает порядок сортировки, и на основе этого логического значения возвращается троичная операция алгоритм сортировки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...