Skip to content

Table 表格 ​

基础数据表格:筛选、列设置、多级表头、树形、虚拟滚动、固定列、多选、展开行、合计。

基础用法 ​

表头漏斗可筛选;右上角「列设置」可勾选显示列;点击可排序列表头切换升序 / 降序 / 取消。

姓名
角色
年龄
城市
张三admin28上海
李四member22杭州
王五member31北京
赵六admin26深圳

多级表头 ​

通过 columns[].children 嵌套分组;排序 / 筛选 / 列设置仅作用于叶子列。

ID
基本信息
任职
姓名
年龄
角色
城市
1张三28admin上海
2李四22member杭州
3王五31member北京

树形数据 ​

设置 tree,行数据通过 children(可用 treeChildren 自定义)嵌套;展开图标显示在第一列。

部门
负责人
人数
总部
张三120
研发中心
李四68
前端组
王五18
后端组
赵六26
市场部
钱七32
华东分公司
孙八45

虚拟滚动 ​

大数据量时开启 virtual,需提供容器 height 与定高 rowHeight(不支持动态行高)。

ID
名称
城市
1用户 1上海
2用户 2杭州
3用户 3北京
4用户 4深圳
5用户 5上海
6用户 6杭州
7用户 7北京
8用户 8深圳
9用户 9上海
10用户 10杭州
11用户 11北京
12用户 12深圳
13用户 13上海
14用户 14杭州
15用户 15北京
16用户 16深圳
17用户 17上海
18用户 18杭州

固定列 ​

叶子列设置 fixed: 'left' | 'right'。建议同时给出 width,以便正确计算粘滞偏移。

姓名
部门
城市
邮箱
电话
操作
用户 1研发北京user1@example.com13800000000编辑
用户 2设计上海user2@example.com13800000001编辑
用户 3研发北京user3@example.com13800000002编辑
用户 4设计上海user4@example.com13800000003编辑
用户 5研发北京user5@example.com13800000004编辑
用户 6设计上海user6@example.com13800000005编辑
用户 7研发北京user7@example.com13800000006编辑
用户 8设计上海user8@example.com13800000007编辑

行多选 ​

开启 selection,可用 v-model:selected-row-keys 受控。树表场景仅对当前可见扁平行勾选。

已选:1

姓名
角色
年龄
张三admin28
李四member22
王五member31

展开行 ​

expandable 提供内容展开列,与 tree 的节点展开分开;详情写在 #expand 插槽。

姓名
角色
张三admin
李四member

合计行 ​

show-summary 默认对 number 列求和;可用 summary-method 自定义。

商品
数量
金额
组件库订阅2199
设计资源包189
咨询服务3450
合计 6738

Props ​

属性说明类型默认值
data行数据TableRow[][]
columns列配置TableColumn[][]
rowKey行键string | (row, index) => string | number'id'
border边框booleanfalse
stripe斑马纹booleanfalse
emptyText空文案string'暂无数据'
showColumnSettings列设置入口;默认有 hideable 列时显示boolean—
filters受控筛选条件TableFilters—
visibleColumns受控可见列 prop 列表string[]—
filterModelocal 本地过滤 / remote 只抛事件'local' | 'remote''local'
tree启用树形表格booleanfalse
treeChildren子节点字段名string'children'
defaultExpandAll默认展开全部booleanfalse
expandRowKeys受控展开行 key(string | number)[]—
indent树节点每级缩进(px)number16
virtual启用虚拟滚动booleanfalse
height虚拟滚动容器高度number | string400
rowHeight虚拟行高(px)number48
virtualBuffer视口外缓冲行数number5
selection行多选booleanfalse
selectedRowKeys受控选中行 key(string | number)[]—
reserveSelection数据变更后保留选中(非受控)booleanfalse
expandable内容展开行booleanfalse
expandedRowKeys受控内容展开 key(string | number)[]—
showSummary合计行booleanfalse
summaryMethod自定义合计( { columns, data } ) => Record<string, string>—

TableColumn ​

字段说明
prop / label字段名(叶子列必填)/ 表头
children多级表头子列;有 children 时为分组列
width / minWidth / align尺寸与对齐
sortable是否可排序(叶子列)
filterabletrue 文本筛选,或 { type: 'text' | 'select', options? }(叶子列)
hideable是否可在列设置中隐藏,默认 true(叶子列)
visible初始是否显示,默认 true(叶子列)
fixed固定列 'left' | 'right'(叶子列)

Events ​

事件说明
update:filters / filter-change筛选变化
update:visibleColumns / column-visibility-change列显隐变化
sort-change{ prop, order }
update:expandRowKeys / expand-change树节点展开变化
update:selectedRowKeys / selection-change多选变化;selection-change 参数 (keys, rows)
update:expandedRowKeys / expandable-change内容展开行变化

Slots ​

插槽说明
[prop]自定义单元格,参数 { row, column, index }
expand内容展开区,参数 { row, index }(需 expandable)