自定义行列头分组
上一篇
自定义 Hook
下一篇
自定义 Icon
Loading...
S2
默认提供 平铺模式 (grid) 和 树状模式 (tree) 两种行头单元格布局方式。
默认通过分组之后得到的数据生成层级结构, 如果都不满足,还可以通过自定义行列头,来定制你的目录结构,同样兼容平铺和树状这两种布局方式。
功能描述:自定义树状结构的配置,适用于透视表和明细表的自定义行列头。查看 文档 和 示例
参数 | 说明 | 类型 | 默认值 | 必选 |
---|---|---|---|---|
field | 当前节点唯一标识 | string | ✓ | |
title | 当前节点展示名 | string | ✓ | |
collapsed | 节点是否收起(树状模式下,行头非叶子节点有效) | boolean | false | |
description | 节点的额外描述信息,在对应行头的 tooltip 中展示 | string | ||
children | 子节点 | CustomTreeNode[] |
type CustomHeaderField = CustomTreeNode | string;
const customTree = [{field: 'a-1',title: '自定义节点 a-1',description: 'a-1 描述',children: [{field: 'a-1-1',title: '自定义节点 a-1-1',description: 'a-1-1 描述',children: [{field: 'measure-1',title: '指标 1',description: '指标 1 描述',children: [],},{field: 'measure-2',title: '指标 2',description: '指标 2 描述',children: [],},],},{field: 'a-1-2',title: '自定义节点 a-1-2',description: 'a-1-2 描述',children: [],},],},{field: 'a-2',title: '自定义节点 a-2',description: 'a-2 描述',children: [],},];const data = [{'measure-1': 13,'measure-2': 2,type: '家具',sub_type: '桌子',},{'measure-1': 11,'measure-2': 8,type: '家具',sub_type: '椅子',},]
rows
配置为自定义 tree
结构valueInCols: false
(无论配置与否都会强制置于行头,修改无效)const s2DataConfig = {fields: {rows: customTree,columns: ['type', 'sub_type'],values: ['measure-1', 'measure-2'],valueInCols: false,},data,};
const s2Options = {hierarchyType: 'grid'};
const s2Options = {hierarchyType: 'tree'};
树状模式下默认使用 customTreeNode.collapsed
作为展开/收起状态,也可以使用通用的配置,具体请查看 自定义折叠/展开节点 章节
const s2Options = {style: {rowCell: {collapseFields: {'custom-node-1': true,'custom-node-2': false,},},},}
columns
配置为自定义 tree
结构valueInCols: true
(无论配置与否都会强制置于列头,修改无效)const s2DataConfig = {fields: {columns: customTree,rows: ['type', 'sub_type'],values: ['measure-1', 'measure-2'],valueInCols: true,},data,};
const s2Options = {hierarchyType: 'grid'};
const s2Options = {hierarchyType: 'tree'};
对于平铺模式,角头显示的文本默认对应行头每一列的第一个单元格,可以和普通字段一样,配置 meta 来对单元格文本进行格式化,此时 field
对应 CustomTreeNode 的 field
值
const meta = [{field: 'a-1',name: '层级 1',},{field: 'a-1-1',name: '层级 2',},{field: 'measure-1',name: '层级 3',}]
对于树状模式,角头默认显示的文本对应所有的一级节点和数值,可以和普通字段一样,配置 meta 来对单元格文本进行格式化,也可以配置 s2Options.cornerText 来自定义角头文本
const meta = [{field: 'a-1',name: '层级 1',},{field: 'a-2',name: '层级 2',},]
const s2Options = {cornerText: '自定义角头标题'}
columns
配置为自定义 tree
结构
const s2DataConfig = {fields: {columns: customTree},data,};