首页 > 解决方案 > 使用或过滤关键字

问题描述

我想为多个条件过滤我的制表符表(文档http://tabulator.info/docs/4.5/filter#search-data)并为此创建了以下函数:

function concepts() {
  table.setFilter("type", "like", "keyword1");
  table.setFilter("type", "like", "keyword2");
  table.setFilter("type", "like", "keyword3");
}

当我运行该函数时,制表器仅显示与我的过滤器的最后一行匹配的行,table.setFilter("type", "like", "keyword3");并且忽略对其他关键字的搜索。有没有办法让制表器显示包含keyword1,keyword2或的行keyword3

标签: node.jsnpmtabulator

解决方案


实际上只考虑了最后一次调用 setFilter ,这就是为什么不考虑 firsts 关键字的原因。

如果您确定数据将匹配三个关键字之一,则可以使用 Array In。

table.setFilter("type", "in", ["keyword1", "keyword2", "keyword3"]);

在您的示例中,您似乎想使用“喜欢”类型。在这种情况下,您应该在对象数组中定义 3 个过滤器,如下所示。

table.setFilter([
  {"field": "type", "type": "like", "value": "keyword1"},
  {"field": "type", "type": "like", "value": "keyword2"},
  {"field": "type", "type": "like", "value": "keyword3"},
]);

两种解决方案均取自您链接的文档:

http://tabulator.info/docs/4.5/filter在数组应用多个过滤器部分)


推荐阅读