Table 表格

用于展示多条结构类似的数据,支持排序、选择、展开、固定表头、固定列、分页、文字省略等功能。

综合演示
集成固定列、固定表头、排序、选择、自定义渲染、文字省略、工具栏、分页等功能。
员工管理
姓名
部门
职位
状态
薪资
入职日期
电话
操作
张伟
emp1@company.com
技术部前端工程师 离职80002022-01-01130000000
李娜
emp2@company.com
产品部后端工程师 在职130002022-02-02150000137
王芳
emp3@company.com
设计部产品经理 在职180002022-03-03170000274
刘洋
emp4@company.com
运营部UI设计师 在职230002022-04-04180000411
陈磊
emp5@company.com
市场部运营专员 在职280002022-05-05190000548
杨帆
emp6@company.com
技术部数据分析师 在职110002022-06-06130000685
赵倩
emp7@company.com
产品部前端工程师 在职160002022-07-07150000822
黄涛
emp8@company.com
设计部后端工程师 离职210002022-08-08170000959
共 46 条
已选中 0 项
基础用法
通过 columns 和 data 定义列与数据。
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
斑马纹
stripe 显示斑马纹。
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
可排序
设置列的 sortable 属性启用排序。
姓名
年龄
薪资
地址
张三2815000北京市朝阳区
李四3222000上海市浦东新区
王五2512000广州市天河区
赵六3630000深圳市南山区
钱七2918000杭州市西湖区
行选择
rowSelection 配置 checkbox 多选或 radio 单选。

多选 — 已选中 0 项

姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号

单选 — 已选中 无

姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
可展开行
通过 #expand-row 插槽自定义展开内容。
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
固定表头
通过 scroll.y 设置纵向滚动高度,固定表头。
姓名
年龄
地址
用户120城市1号街道1号
用户221城市2号街道2号
用户322城市3号街道3号
用户423城市4号街道4号
用户524城市5号街道5号
用户625城市6号街道6号
用户726城市7号街道7号
用户827城市8号街道8号
用户928城市9号街道9号
用户1029城市10号街道10号
用户1130城市11号街道11号
用户1231城市12号街道12号
用户1332城市13号街道13号
用户1433城市14号街道14号
用户1534城市15号街道15号
用户1635城市16号街道16号
用户1736城市17号街道17号
用户1837城市18号街道18号
用户1938城市19号街道19号
用户2039城市20号街道20号
固定列
设置列的 fixed 为 'left' 或 'right',配合 scroll.x 实现横向滚动。
姓名
年龄
部门
邮箱
手机
城市
入职日期
操作
员工125技术部user1@example.com1380000000北京2023-01-01
员工226产品部user2@example.com1380000001上海2023-02-02
员工327设计部user3@example.com1380000002广州2023-03-03
员工428运营部user4@example.com1380000003深圳2023-04-04
员工529技术部user5@example.com1380000004杭州2023-05-05
员工630产品部user6@example.com1380000005北京2023-06-06
员工731设计部user7@example.com1380000006上海2023-07-07
员工832运营部user8@example.com1380000007广州2023-08-08
加载状态
loading 控制加载状态。
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
文字省略
设置列的 ellipsis 属性,需配合 width。
姓名
描述
张三这是一段很长很长的描述文字,用于测试文字省略功能的展示效果,当内容超出容器宽度时会显示省略号
李四另一段超长的描述内容,依然是为了验证省略功能是否正常工作,超出部分应该自动隐藏并显示省略号
方法调用
通过 ref 调用表格方法。
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号

Table Props

参数类型默认值说明
columnsTableColumnData[][]列配置数据
dataRecord<string, any>[][]数据源
borderedbooleanfalse是否显示边框
stripebooleanfalse是否显示斑马纹
size'xs' | 'sm' | 'md' | 'lg''md'表格尺寸
rowKeystring | ((record) => string | number)'key'行唯一标识
loadingbooleanfalse加载状态
loadingTextstring'加载中...'加载提示文字
rowSelectionTableSelection-行选择配置
paginationobject | falsefalse分页配置,false 不显示
scroll{ x?: number | string; y?: number | string }-滚动配置,x 横向滚动宽,y 固定表头高度
showTotalbooleantrue显示总数
showPageSizebooleanfalse显示每页条数切换
emptyTextstring'暂无数据'空数据提示文字
rowClassNamestring | ((record, index) => string)-行自定义类名
rowStyleobject | ((record, index) => object)-行自定义样式

Column 配置

参数类型默认值说明
titlestring-列标题
dataIndexstring-数据字段名
widthnumber | string-列宽度
minWidthnumber | string-最小宽度
align'left' | 'center' | 'right''left'对齐方式
fixed'left' | 'right'-固定列
sortableboolean | { sortDirections }-排序
ellipsisbooleanfalse文字省略
slotNamestring-内容插槽名
titleSlotNamestring-标题插槽名
childrenTableColumnData[]-表头分组子列

rowSelection

参数类型默认值说明
type'checkbox' | 'radio''checkbox'选择类型
selectedRowKeys(string | number)[][]已选中 key 列表
onChange(keys, rows) => void-选中变化回调

Events

事件名参数说明
select(keys, rows)选中变化
select-all(keys, rows)全选变化
selection-change(keys, rows)选中变化
sorter-change(dataIndex, direction)排序变化
page-change(page)页码变化
page-size-change(pageSize)每页条数变化
expand(rowKey, expanded)展开/收起
row-click(record, event)点击行
cell-click(record, column, event)点击单元格

Slots

插槽名参数说明
toolbar-表格顶部工具栏区域
empty-空数据自定义内容
expand-row{ record }展开行内容
[slotName]{ record, column, rowIndex }列自定义内容
[titleSlotName]{ column }列标题自定义内容

Methods

方法名参数说明
selectAll(checked: boolean)全选/取消全选
select(rowKey, checked)选中/取消指定行
expandAll(expanded: boolean)全部展开/收起
expand(rowKey, expanded)展开/收起指定行
getSelectedRowKeys() => (string|number)[]获取选中行 key
getSelectedRows() => any[]获取选中行数据
clearSelection() => void清除所有选中