Vuejs watchEffect Filtering and Searching Data
watchEffect automatically filters the user list based on the search query, great for real-time search scenarios.
import { ref, watchEffect } from 'vue';
export default {
setup() {
const searchQuery = ref('');
const users = ref([
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 35 },
]);
const filteredUsers = ref([]);
watchEffect(() => {
if (searchQuery.value) {
filteredUsers.value = users.value.filter(user =>
user.name.toLowerCase().includes(searchQuery.value.toLowerCase())
);
} else {
filteredUsers.value = users.value;
}
});
return { searchQuery, filteredUsers };
}
};