Работая в реагировании / следующем сеансе, я настраиваю фильтрацию во внешнем интерфейсе для реквизита данных на основе пользовательского ввода с флажками.
Данные выглядят примерно так (очевидно, гораздо дольше):
[{id: 8211,
title: "ABC",
type: "hardwood",
length: "5",
width: "10",
color: "brown",
finish: "WOCA",
surface: "distressed",
},
{
id: 8208,
title: "DEF",
type: "vinyl",
length: "10",
width: "4",
color: "",
finish: "Urethane",
surface: "smooth",
}]
Теперь мне нужно отфильтровать по следующим парам ключ / значение:
- Тип (лиственные, ПВХ, SPC, ламинат, винил)
- Ширина (4,6)
- Длина (6, 12, 24)
- Цвет (коричневый, средний, серый, светлый)
- Отделка (Woca, уретан)
- Поверхность (гладкая, проблемная, проволочная)
Так что, если кто-то проверяет лиственные, виниловые и коричневые - это должно отображать продукты, которые соответствуют лиственной древесине ИЛИ винил И коричневый.
Теперь я не совсем уверен, как поступить. Я могу захватить пользовательский ввод и сохранить его в объекте (возможно, используя массивы внутри объекта). Но я не могу понять, как затем фильтровать мой оригинальный объект реквизита на основе этого.