find element by object field vuejs
To find an element by an object field in Vue.js, you can follow these steps:
- Import Vue and create a new Vue instance.
- Define an array of objects that you want to search through.
- Create a computed property to store the search results.
- Implement a method to perform the search.
- Use the v-model directive to bind the search term to an input field.
- Use the v-for directive to iterate through the search results and display them.
Here is an example of how these steps can be implemented in Vue.js:
<template>
<div>
<input v-model="searchTerm" placeholder="Search by field value" />
<ul>
<li v-for="item in searchResults" :key="item.id">{{ item.name }}</li>
</ul>
</div>
</template>
<script>
import Vue from 'vue';
export default {
data() {
return {
items: [
{ id: 1, name: 'Apple', type: 'fruit' },
{ id: 2, name: 'Orange', type: 'fruit' },
{ id: 3, name: 'Carrot', type: 'vegetable' },
],
searchTerm: '',
};
},
computed: {
searchResults() {
return this.items.filter(item => item.name.toLowerCase().includes(this.searchTerm.toLowerCase()));
},
},
};
</script>
In this example, the items
array contains objects with fields like id
, name
, and type
. The searchTerm
variable is bound to the value entered in the input field using the v-model
directive. The searchResults
computed property filters the items
array based on the search term and returns only the objects that have a matching field value. The v-for
directive is then used to iterate through the search results and display them as list items.
Please note that the above example assumes you have set up a Vue.js project properly and have the necessary dependencies installed.