Добавим в компонент описание фильтров. Это будет массив объектов, содержащих два свойства: имя (совпадает с именем свойства в элементах фильтруемого массива) и активность (указывает, надо ли применять это фильтр):
data: () => ({
filters: [
{ name: 'disColor', active: true },
{ name: 'water', active: true },
{ name: 'gps', active: true },
],
...
На основе этого описания создадим элементы управления, чтобы пользователь мог переключать активность фильтров:
<label v-for="f in filters">
<input type="checkbox" v-model="f.active">
{{ f.name }}
</label>
Наконец, применим фильтры - сделаем вычисляемое свойство, которое будет представлять отфильтрованные данные:
computed: {
filteredItems() {
const filters = this.filters.filter(n => n.active);
return this.items.filter(n => filters.some(f => n[f.name]));
},
...
https://jsfiddle.net/276xgmho/