С попыткой сохранить всю логику на стороне клиента, я думаю, что я собираюсь создать слой между необработанными данными таблицы и таблицей vue и применить свою логику там как вычисляемую функцию.
edit- все заработало.
Вот что я сделал для вычисленной части
computed: {
searchRows: function () {
var filteredRows = this.rows;
var term = this.searchTerm;
if(this.searchTerm) {
filteredRows = [];
this.rows.forEach(function(entry) {
if(String(entry.id).includes(term) || String(entry.name).includes(term)) {
filteredRows.push(entry);
}
});
}
return filteredRows;
}
},
Я связал данные в таблице с вычисленным вызовом.
<v-client-table :columns="columns" :data="searchRows" :options="options">
Единственным недостатком, который я вижу, является то, что, если таблица становится достаточно большой, это может вызвать проблемы, потому что теперь я храню до 2 ее копий в памяти.