Skip to content

Table 表格 - 合并与汇总

Table 组件支持合并行列和显示汇总行。

合并行或列

通过 span-method 属性实现合并行或列。

合并行

合并表头

通过 columnschildren 属性定义多级表头。父列设置 labelchildren,子列是实际的数据列。表格会自动计算 colspanrowspan,生成分组表头。

合并表头

实战:权限管理表格

结合 span-method 行合并与列 render 渲染函数,实现常见的权限配置矩阵。功能模块和详细功能列自动合并相同值的行,权限类型和权限列表通过 h() 渲染勾选框,支持模块/功能/类型/权限四级联动勾选。

权限管理表格

表尾合计行

通过 summary-config 配置汇总行,设置 method 自定义汇总逻辑。

表尾合计行

API

多级表头(合并表头)

通过列配置的 children 属性实现多级表头。

属性说明类型默认值
label分组表头的标题文本string
children子列配置(支持多层嵌套)TableColumn[]
headerAlign表头对齐方式'left' | 'center' | 'right''center'(分组列默认居中)
headerClassName表头自定义类名string
headerStyle表头自定义样式CSSProperties

注意:父列(有 children 的列)只需要设置 label,不需要设置 propcolspanrowspan 由组件自动计算。

span-method 合并方法

参数说明类型
row当前行数据Record<string, unknown>
column当前列配置TableColumn
rowIndex当前行索引number
columnIndex当前列索引number

返回值{ rowspan: number, colspan: number }[rowspan, colspan]

  • rowspan: 0, colspan: 0 表示该单元格被合并(不渲染)
  • rowspan: n 表示跨 n 行,colspan: n 表示跨 n 列

SummaryConfig 汇总配置

属性说明类型默认值
text汇总行第一列的文本string'合计'
position汇总行位置'top' | 'bottom''bottom'
fixed是否固定汇总行booleanfalse
method汇总计算方法({ columns, data }) => Array<string | number | VNode>
className汇总行类名string | ((params) => string)
style汇总行样式CSSProperties | ((params) => CSSProperties)

Column render 渲染函数

参数说明类型
row当前行数据Record<string, unknown>
column当前列配置TableColumn
rowIndex当前行索引number
cellValue当前单元格的值unknown

返回值VNode(使用 Vue h() 函数创建)

Released under the MIT License.