Table 表格
基础数据表格,支持列筛选、列显示/隐藏、多级表头、树形数据与虚拟滚动。
基础用法
表头漏斗可筛选;右上角「列设置」可勾选显示列;点击可排序列表头切换升序 / 降序 / 取消。
姓名 | 角色 | 年龄 | 城市 |
|---|---|---|---|
| 张三 | admin | 28 | 上海 |
| 李四 | member | 22 | 杭州 |
| 王五 | member | 31 | 北京 |
| 赵六 | admin | 26 | 深圳 |
多级表头
通过 columns[].children 嵌套分组;排序 / 筛选 / 列设置仅作用于叶子列。
ID | 基本信息 | 任职 | ||
|---|---|---|---|---|
姓名 | 年龄 | 角色 | 城市 | |
| 1 | 张三 | 28 | admin | 上海 |
| 2 | 李四 | 22 | member | 杭州 |
| 3 | 王五 | 31 | member | 北京 |
树形数据
设置 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 | 杭州 |
Props
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| data | 行数据 | TableRow[] | [] |
| columns | 列配置 | TableColumn[] | [] |
| rowKey | 行键 | string | (row, index) => string | number | 'id' |
| border | 边框 | boolean | false |
| stripe | 斑马纹 | boolean | false |
| emptyText | 空文案 | string | '暂无数据' |
| showColumnSettings | 列设置入口;默认有 hideable 列时显示 | boolean | — |
| filters | 受控筛选条件 | TableFilters | — |
| visibleColumns | 受控可见列 prop 列表 | string[] | — |
| filterMode | local 本地过滤 / remote 只抛事件 | 'local' | 'remote' | 'local' |
| tree | 启用树形表格 | boolean | false |
| treeChildren | 子节点字段名 | string | 'children' |
| defaultExpandAll | 默认展开全部 | boolean | false |
| expandRowKeys | 受控展开行 key | (string | number)[] | — |
| indent | 树节点每级缩进(px) | number | 16 |
| virtual | 启用虚拟滚动 | boolean | false |
| height | 虚拟滚动容器高度 | number | string | 400 |
| rowHeight | 虚拟行高(px) | number | 48 |
| virtualBuffer | 视口外缓冲行数 | number | 5 |
TableColumn
| 字段 | 说明 |
|---|---|
| prop / label | 字段名(叶子列必填)/ 表头 |
| children | 多级表头子列;有 children 时为分组列 |
| width / minWidth / align | 尺寸与对齐 |
| sortable | 是否可排序(叶子列) |
| filterable | true 文本筛选,或 { type: 'text' | 'select', options? }(叶子列) |
| hideable | 是否可在列设置中隐藏,默认 true(叶子列) |
| visible | 初始是否显示,默认 true(叶子列) |
Events
| 事件 | 说明 |
|---|---|
| update:filters / filter-change | 筛选变化 |
| update:visibleColumns / column-visibility-change | 列显隐变化 |
| sort-change | { prop, order } |
| update:expandRowKeys / expand-change | 树节点展开变化 |
Slots
| 插槽 | 说明 |
|---|---|
[prop] | 自定义单元格,参数 { row, column, index } |