1

我正在尝试使用两个过滤器设置一个基本的服务器端vue-tables-2 - 一个是下拉列表,另一个是搜索字段。我无法检测到其中应用了两个过滤器中的哪一个,requestFunction()因此我可以将请求发送到服务器。目前,我只是尝试在应用过滤器/更改输入时控制台记录输入过滤器名称和值。

JSF中:

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>

视图表:

    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'
          }]
        }
    }
  }
});
4

1 回答 1

1

根据vue-tables-2 文档

vue-tables.filter/tableName/FILTER更换过滤器时触发。

再深入一点之后,真的就像监听一个事件一样简单:

在此处输入图像描述

Vue 开发者工具确实让这类东西易于诊断。现在,您想要收听自定义事件。你可以在Vue 文档中学习如何做到这一点。

最后,这是一个工作小提琴,展示了您如何收听这些事件:https ://jsfiddle.net/kbpq5vb3/55/

希望这可以帮助!

于 2017-12-28T21:37:59.383 回答