Задать вопрос

Как мне фильтровать по нескольким значением данные?

У меня все работает если идет одна фильтрация, но если делается несколько, то которая верхняя филтрация она преобладает над нижней, как примерно сделать чтобы учитывались данные, которые приходят из двух филтров?
https://codesandbox.io/s/pyvjxxnnvj
Код данные где фильтруются находится в App.vue:212 в computed employeeList
  • Вопрос задан
  • 201 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Frontend-разработчик
    9 месяцев
    Далее
  • Loftschool
    Профессия Веб-разработчик
    7 месяцев
    Далее
  • Avenue
    Javascript. Frontend
    5 месяцев
    Далее
Решения вопроса 1
@SeaBreeze876
Front-end разработчик
employeeList: function() {
  return this.items.filter(item => 
    Object.keys(this.filterItems).reduce((acc, filterKey) => {
      let filterCondition = this.filterItems[filterKey];
      return acc && !!~item[filterKey].indexOf(filterCondition);
    }, true)
  ).sort(....);
}

в предикате делаем свертку filterItems, если хоть одно его свойство не удовлетворит условию !!~item[filterKey].indexOf(filterCondition), предикат вернет false и элемент фильтранется
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы