node.js - 使用或过滤关键字
问题描述
我想为多个条件过滤我的制表符表(文档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
?
解决方案
实际上只考虑了最后一次调用 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(在数组和应用多个过滤器部分)
推荐阅读
- php - 允许在 WooCommerce 中使用用户电话号码登录
- c - 用 {0} 或 {'\0'} 初始化结构有什么区别吗?
- mysql - 创建连接nodejs后连接到db
- android - 安装 react-native-vcard 包时出错
- css - 标题居中并位于背景底部
- python - 强制索引值存在
- java - 创建项目失败。JDK 9+ 不支持 clientBuilder.sslSocketFactory(SSLSocketFactory)
- java - 数据库查询和Java
- javascript - 如何使用 ES6 类添加事件侦听器并在画布中移动对象?
- mysql - Mysql 按 base_price 或 discount_value 排序(如果不为空)