Выводится список:
<div class="contact-list__items" v-if="dialogs.length > 0" v-for="(dialog, index) in dialogs" :data-id="dialog.id">
<div class="contact-card" @click.prevent="selectUser(dialog.id,index)">
<a :href="'/profile/'+dialog.slug" target="_blank" class="contact-card__image" v-bind:style='{ backgroundImage: `url("/storage/${dialog.avatar}")` }'></a>
<div class="contact-card__data">
<div class="contact-card__data--text">
<p class="username">{{dialog.fullname}}, {{dialog.age}} <span class="online ml" v-if="dialog.online === 1"></span></p>
<p class="last--massage" v-html="dialog.message"></p>
</div>
</div>
</div>
</div>
Есть поле поиска:
<div class="contact-list__search">
<input type="text" placeholder="Введите имя" v-model="search">
<button class="btn-search"><svg><use xlink:href="#search"></use></svg></button>
</div>
Как сделать, чтобы выводились элементы, чей fullname совпадает со значением в поле поиска? Если поле поиска пустое - выводится всё.
Пробую так, но не работает:
watch: {
search(after, before) {
this.searchUsers();
}
},
searchUsers(){
console.log(this.search);
return this.dialogs.filter((f, idx) => f.fullname == this.search);
}