如何获取特定列 Header 过滤器的 dataFiltered-Callback?

How to get a dataFiltered-Callback for a specific Column Header Filters?

据我了解只有回调dataFiltered,用于整个table。它由所有过滤器无差别地触发。

是否可以获得针对特定单个 header 过滤器的回调? 以便我可以在某个 header 过滤器激活后立即调用函数? 我想象它是这样的:

{title:"Name", field:"name", headerFilter:true, headerdataFiltered:function()}

是否有解决方法? 非常感谢! (我将特别感谢 non-jquery 解决方案)

也感谢这个非常棒的工具 Tabulator。

感谢您的美言,听到 Tabulator 受到赞赏总是很棒。

在应用任何过滤器时调用它的原因是因为可以一次应用多个过滤器,Complex Filtering 可以应用复杂的 and/or 过滤器集,因此很难隔离在所有情况下都细化到特定的列。

dataFiltered 回调确实传递了所有当前活动过滤器的列表,因此您可以查看受影响的列是否在其中:

var table = new Tabulator("#example-table", {
    dataFiltering:function(filters){
    //filters - array of filters currently applied

    },
});

如果您需要查看该列是否刚刚被过滤,您可以在回调之外存储此 object 的先前值的副本,然后在下次调用时比较旧值和新值。

另一种选择是在 header 过滤器中使用自定义编辑器,然后您可以手动决定何时调用启动过滤器的成功函数,然后从那里引用外部函数