Создайте компонент панели навигации, который будет $emit
a search
событием, содержащим искомое значение. У него есть только шаблон:
<template>
<div>
<input @input="$emit('search', $event)" />
</div>
</template>
. Вы можете использовать его в любом другом компоненте, например:
<template>
<div>
<navigation @search="newSearch($event.target.value)"></navigation>
{{ filteredItems }}
</div>
</template>
data() {
return {
search: ''
}
},
computed: {
filteredItems () {
if (this.search !== '') {
return this.allManufacturers.filter(item => {
return item.id.toUpperCase().startsWith(this.search.toUpperCase()) === true
})
}
return this.cars.filter(item => {
return item.id.toUpperCase().startsWith(this.search.toUpperCase()) === true
})
},
},
methods: {
newSearch(text) {
this.search = text;
}
}