我正在尝试使用两个过滤器设置基本服务器端vue-tables-2 - 一个是下拉列表,另一个是搜索字段。我无法检测到requestFunction()
中应用了哪两个过滤器,因此我可以将请求发送到服务器。目前,我只是尝试控制日志输入过滤器名称和值,因为过滤器已应用/输入已更改。
JSFiddle:
https://jsfiddle.net/kbpq5vb3/39/
HTML
<h1 class="vue-title">Vue Tables 2 Demo</h1>
<div id="app">
<v-server-table url="https://jsonplaceholder.typicode.com/users" :columns="columns" :options="options"></v-server-table>
</div>
VueTable:
Vue.use(VueTables.ServerTable);
new Vue({
el: "#people",
data: {
columns: ['name', 'username'],
options: {
requestAdapter(data) {
console.log(data.query); // detect which filter was applied / which input changed
},
responseAdapter(resp) {
return {
data: resp,
count: resp.length
}
},
filterByColumn: true,
filterable: ['name', 'username'],
listColumns: {
name: [{
id: 'ervin',
text: 'Ervin'
}, {
id: 'chelsey',
text: 'Chelsey'
}]
}
}
}
});
答案 0 :(得分:1)
更改过滤器后,
vue-tables.filter/tableName/FILTER
将触发。
在深入了解之后,它就像听一个事件一样简单:
Vue开发人员工具确实使这类东西易于诊断。现在,您想要收听自定义事件。您可以在Vue documentation上了解如何执行此操作。
最后,这是一个工作小提琴,展示了你如何倾听这些事件:https://jsfiddle.net/kbpq5vb3/55/
希望这有帮助!