Я пытаюсь построить систему фильтров с помощью Vue.
Обновлено
Фильтры работают, но все вычисленные функции являются отдельными функциями.Так как я могу сделать это в одной функции и использовать ее.
export default {
data() {
return {
estates: [],
search: '',
regions:['関西','関東','京橋'],
checkedRegions:[]
}
},
created(){
axios.get('/ajax').then((response) => {
this.estates = response.data;
});
},
computed: {
one: function() {
var result = this.estates.filter((estate) =>
estate.building_name.match(this.search)
);
if(this.checkedRegions.length && this.checkedRooms.length) {
return result.filter(estate => this.checkedRegions.includes(estate.region) && this.checkedRooms.includes(estate.rooms))
}
return result;
}
}
}
<div class="container-fluid">
<div class="row">
<div class="col-md-9">
<input type="text" v-model="search" name="" placeholder="search estate" value="">
<div v-for="estate in filteredestate" class="card-body">
<h2>{{estate.building_name}}</h2>
<p>{{estate.address}}</p>
</div>
</div>
</div>
</div>
filteredestate
filteredRegions
и filteredRooms
выполняют одну функцию.например, как вернуть эти функции с &&
?И используйте это в этом div.
<div v-for="estate in oneFunction" class="card-body">