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

时间:2019-12-05 20:43:26

标签: javascript tabulator

据我了解,只有回调“ dataFiltered”,用于整个表。它由所有过滤器无关地触发。

是否可以为特定的单个标头过滤器获得回调? 这样,只要某个标头过滤器变为活动状态,就可以立即调用函数? 我想这是这样的:

app.yaml

可能有解决方法吗? 非常感谢! (我特别感谢非jQuery解决方案)

也感谢这款真正出色的工具制表器。

1 个答案:

答案 0 :(得分:1)

感谢您的客气话,很高兴听到Tabulator受到赞赏。

应用任何过滤器时被调用的原因是因为可以一次应用多个过滤器,而Complex Filtering可以应用复杂和/或过滤器集,因此很难将其隔离到特定的列在所有情况下。

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

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

    },
});

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

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