Пишу что-то вроде фильтра товаров по значениям, по типу как в интернет магазинах фильтруют товары.
Есть такой Select:
<select @click="handleBrand" class="custom-select">
<option v-for="brand in brands.sort()" :data-foo="brand">{{ brand }}</option>
</select>
Вывожу в фильтр только уникальные значения, без повторений:
computed: {
brands() {
return [...new Set(this.profiles.map(n => n.brand.name))];
}, }
Получаю выбранное пользователем значение с помощью:
methods: {
handleBrand(e) {
if(e.target.options.selectedIndex > -1) {
console.log(e.target.options[e.target.options.selectedIndex].dataset.foo)
}
},
}
Проверял через console.log, далее не знаю в какую сторону двигаться просто.
Через handleBrand получаю выбранное значение, например: Brand1.
Ниже все результаты полученные через v-for:
<div v-for="profile in profiles" class="row feed">
---SOME CODE---
<span>Бренды: {{profile.brand.name}}</span>
---SOME CODE---
</div>
Результат примерно следующий:
Brand1
Brand1
Brand2
Brand3
handleBrand условно получил значение Brand1, как прописать, чтоб цикл
v-for="profile in profiles" ниже показал только бренды со значением Brand1?
Сам массив profiles приходит через axios из Laravel.