Вы должны взять свой базовый набор данных и вычислить массив на основе тех же фильтров, которые используются в определении столбца v-data-table. ie.
computed:{
currentItems(){
return this.desserts.filter(val=>val.calories < parseInt(this.calories))
},
currentItemsWithSearch(){
return this.currentItems.filter(val=> 'search logic here')
}
}
Значение currentItems должно соответствовать данным таблицы. Это применение второго и отдельного фильтра, аналогичного тому, что вы сделали для определений столбцов.
{
text: 'Calories',
value: 'calories',
filter: value => {
if (!this.calories) return true
return value < parseInt(this.calories)
},
}
В идеале вы хотели бы использовать массив currentItems в качестве входных данных элементов таблицы данных для учета В поле «поиск» вы можете связать дополнительные фильтры (поиск) по вычисляемому результату. Это будет выполнять фильтрацию менее 1010 * калорий в одном месте.
<v-data-table :items="currentItems" />