如何解决如何适当按需触发行过滤? 添加过滤器替换过滤器设置多个过滤器删除过滤器清除所有过滤器重新触发相同的过滤器
我有几个addFilter(functionHandle)调用,但是我想根据需要使用所有当前过滤器来触发过滤。
现在,我正在这样做:
removeFilter(undefined);
触发要应用的过滤器,但是如果有一天Tabulator.prototype.removeFilter()实际上检查过滤器是否已被删除并且不调用rowManager.filterRefresh(),我将是SOL!
在行管理管道中,有
过滤行 应用所有过滤器(程序过滤器和标头过滤器),并删除不匹配的行。
解决方法
不清楚您在那寻找什么。
一旦应用了过滤器,它们将一直保持应用状态,直到将其移除为止,因此无需再次“触发”过滤器。您当然不应该尝试在原型上调用函数,而只是在表实例本身上调用它们。
添加过滤器
如果要将过滤器添加到现有过滤器集中,则可以使用 addFilter 函数
table.addFilter("age",">",22);
替换过滤器
如果要用新过滤器替换现有过滤器,则可以使用 setFilter 函数:
table.setFilter("age",">=",10);
设置多个过滤器
如果要设置多个过滤器模拟,可以将一系列过滤器对象传递给 setFilter 函数:
table.setFilter([
{field:"age",type:">",value:52},//filter by age greater than 52
{field:"height",type:"<",value:142},//and by height less than 142
{field:"name",type:"in",value:["steve","bob","jim"]},//name must be steve,bob or jim
]);
删除过滤器
如果要删除特定的过滤器,可以调用 removeFilter 函数:
table.removeFilter("age",22);
清除所有过滤器
如果要删除所有过滤器,可以调用 clearFilter 函数
table.clearFilter();
重新触发相同的过滤器
如果要删除现有过滤器并重新应用它们,则可以结合使用 getFilters 函数和 setFilter > 功能:
table.setFilter(table.getFilters());
有关如何使用过滤器模块的详细信息,请参见Filter Documentation
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。