Sometimes, we want to search a list while typing in textbox Vue.js.
In this article, we’ll look at how to search a list while typing in textbox Vue.js.
How to search a list while typing in textbox Vue.js?
To search a list while typing in textbox Vue.js, we can add a computed property.
For instance, we write
<template>
<div>
<input type="text" v-model="search" />
</div>
</template>
<script>
export default {
data() {
return {
search: "",
customers: [
{
id: "1",
name: "user 1",
profile_pic: "...",
email: "ab@gmail.com",
phone: "5786965906",
unread: "0",
},
{
id: "2",
name: "user 2",
profile_pic: "...",
email: "abcd@gmail.com",
phone: "576676886",
unread: "0",
},
{
id: "3",
name: "user 3",
profile_pic: "...",
email: "test@gmail.com",
phone: "67689696",
unread: "0",
},
{
id: "4",
name: "user 4",
profile_pic: "...",
email: "d@gmail.com",
phone: "576865896",
unread: "0",
},
],
};
},
computed: {
filteredCustomer() {
return this.customers.filter((cust) => {
return cust.name.toLowerCase().includes(self.search.toLowerCase());
});
},
},
};
</script>
to add the filteredCustomer computed property that returns an array of items from this.customers with the name values that includes the search string search.
We bind the search reactive property to the input value with v-model so filteredCustomer is updated as we type.
Conclusion
To search a list while typing in textbox Vue.js, we can add a computed property.