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

У меня все работает если идет одна фильтрация, но если делается несколько, то которая верхняя филтрация она преобладает над нижней, как примерно сделать чтобы учитывались данные, которые приходят из двух филтров?
https://codesandbox.io/s/pyvjxxnnvj
Код данные где фильтруются находится в App.vue:212 в computed employeeList
  • Вопрос задан
  • 200 просмотров
Решения вопроса 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 и элемент фильтранется
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы