Tabulator:如何获取当前分组的列(字段)集合?
获取Tabulator当前分组列列表的方法
嘿,我之前也碰到过这个困扰!Tabulator确实没提供官方的getGroupBy()方法,但有两种简单可靠的方式能拿到当前的分组列配置:
方法1:使用getOptions() API(推荐)
Tabulator实例自带的getOptions()方法可以直接获取当前表格的配置项,其中就包含我们需要的groupBy值:
// 获取当前分组配置 const currentGroupConfig = table.getOptions("groupBy"); // 输出结果:单分组返回字符串,多分组返回数组 console.log(currentGroupConfig); // 示例:"gender" 或 ["gender", "age"]
这是官方支持的API,兼容性更好,不用担心后续版本内部属性变动的问题。
方法2:直接访问实例内部属性
如果想更直接,Tabulator实例的groupBy属性也存储着当前的分组配置:
const currentGroupConfig = table.groupBy; console.log(currentGroupConfig); // 同样返回字符串或数组
虽然这是内部属性,但在Tabulator多个版本里都保持稳定,临时使用完全没问题。
统一处理为数组格式
要是需要不管单分组还是多分组都返回数组格式,可以加个简单的转换:
let groupByColumns = table.getOptions("groupBy"); // 单分组转数组,无分组则返回空数组 groupByColumns = Array.isArray(groupByColumns) ? groupByColumns : (groupByColumns ? [groupByColumns] : []); console.log(groupByColumns); // 始终是数组:["gender"]、["gender", "age"] 或 []
补充一句:分组信息是存在表格的全局配置里的,并不是存储在列对象中,所以你之前遍历列找不到是正常的哦~
内容的提问来源于stack exchange,提问作者C C
相关产品推荐
相关产品推荐

