У меня есть ответ API Laravel, такой как:
{
id:1,
name: "Text",
category: {
id: 1,
name: "Text 2",
},
tags:[
{
id: 1,
name: "Tag1",
},
{
id: 2,
name: "Tag2",
},
],
},
Для моего интерфейса (с помощью vuejs) я создал простую вычисляемую функцию для фильтрации категории, основанную на выбранных пользователем флажках.
checkedCategory: []
.
.
let posts = this.posts;
if (typeof this.checkedCategory !== 'undefined' && this.checkedCategory.length > 0) {
posts = posts.filter((post) => {
return this.checkedCategory.indexOf(post.category.name) > -1;})}
Все работает. Расходы фильтруются по категориям, выбранным пользователем.
Но сообщения также могут иметь несколько тегов. Массив объектов, поэтому я переформулировал блок с .include (вместо .filter), новозвращает пустой результат.
checkedTags: []
.
.
let posts = this.posts;
if (typeof this.checkedTags !== 'undefined' && this.checkedTags.length > 0) {
posts = posts.includes((post) => {
return this.checkedTag.indexOf(post['tags']) > -1;})}