首页 > 解决方案 > 在制表器中为可以接受多个值的选项字段创建标题过滤器

问题描述

我希望对如何在 Tabulator 中针对以下情况构建 headerFilter 提供一些指导。将通过 Tabulator 显示的数据列之一是多选列。可以输入一个或多个值。例如,可以选择 3 种颜色(红色、绿色和蓝色),并且在一个记录中可以选择红色和绿色。

我在同一单元格中的自己的行上显示每个选择。

我创建了一个选择 headerFilter 来过滤此字段,但该过滤器适用于整个单元格值。我想创建一个仅包含单个值(红色、绿色和蓝色)的选择列表,如果我选择像“红色”这样的过滤器值,那么它将匹配包含红色作为所选值之一的任何单元格,例如单元格红色和绿色。我不想让它作为通配符或子字符串值工作,因为一个选项可能包含另一个选项的文本,比如如果我将颜色“浅蓝色”添加到我的列表中,我不想选择“蓝色”来匹配那个。

这个答案似乎有两个部分,如何为每个单元格存储数据(在数组中?)和过滤器逻辑。

标签: tabulator

解决方案


https://jsfiddle.net/0p6L4ya1/

我想这就是你要找的东西?我会使用带有数字标志的位掩码来跟踪它是打开还是关闭多种颜色(限制为 32 种颜色,我猜是 javascript,也许是 64 种颜色??)

您可以将 'lightblue' 添加到颜色数组以获得新的匹配,它将匹配 left[Eight], coz 8 = 1<<4

const colors = ['red','green','blue','lightblue'];

推荐阅读