Каждый фильтр выделить в отдельный computed, который возвращает функцию или null.
Ещё один computed массива фильтров.
И уже этот массив фильтров применять.
computed: {
filterA() {
return this.a !== '' ? item => item.propA === this.a : null;
},
filterB() {
return this.b !== '' ? item => item.propB === this.b : null;
},
filters() {
return [this.filterA, this.filterB].filter(Boolean);
},
filteredItems() {
return this.filters.length
? this.items.filter(item => this.filters.every(f => f(item))
: this.items;
}
}