Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue-tables-2检测应用了哪个过滤器_Javascript_Vue.js_Vuejs2_Vue Tables 2 - Fatal编程技术网

Javascript Vue-tables-2检测应用了哪个过滤器

Javascript Vue-tables-2检测应用了哪个过滤器,javascript,vue.js,vuejs2,vue-tables-2,Javascript,Vue.js,Vuejs2,Vue Tables 2,我试图建立一个基本的服务器端,它有两个过滤器——一个是下拉列表,另一个是搜索字段。我在检测两个过滤器中的哪一个应用于requestFunction()时遇到问题,因此我无法将请求发送到服务器。目前,我只是尝试在应用过滤器/更改输入时控制台记录输入过滤器名称和值 JSFiddle: HTML 根据报告: vue tables.filter/tableName/filter在更改筛选器时触发 再深入一点,这真的就像听一个事件一样简单: Vue开发工具确实使这类东西易于诊断。现在,您需要收听自定义

我试图建立一个基本的服务器端,它有两个过滤器——一个是下拉列表,另一个是搜索字段。我在检测两个过滤器中的哪一个应用于
requestFunction()
时遇到问题,因此我无法将请求发送到服务器。目前,我只是尝试在应用过滤器/更改输入时控制台记录输入过滤器名称和值

JSFiddle:

HTML

根据报告:

vue tables.filter/tableName/filter
在更改筛选器时触发

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

Vue开发工具确实使这类东西易于诊断。现在,您需要收听自定义事件。你可以在网上学习如何做到这一点

最后,这里有一把小提琴,展示了你是如何聆听这些事件的:


希望这有帮助

根据更改筛选器时,
vue-tables.filter/tableName/filter
将触发。您应该能够在右侧“事件”选项卡下的vue开发人员工具中查看事件。@Derek谢谢。是的,我看到了这一点,但是我尝试实现它却没有成功,因为我需要在请求适配器中访问该事件,并且文档很差,因为它没有包含任何关于如何正确使用该事件的示例。你明白这是怎么回事吗?你能用一个基本的例子来更新小提琴吗?谢谢你的帮助,德里克。不幸的是,我真的不清楚这一切是如何仅从文档中工作的。我需要访问请求适配器中的筛选器键和值,文档中甚至没有一个实现示例。@AnchovyLegend给我一些,我将用一个fiddle@AnchovyLegend这里有一个很好的起点:谢谢@Derek的帮助,结果比我预期的简单多了。我想知道我们是否可以在应用listenTo时调用请求适配器。。
<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'
          }]
        }
    }
  }
});