Table 表格

用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。

基础用法
通过 columns 和 data 定义列和数据:
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
带边框和斑马纹
bordered 显示边框,stripe 显示斑马纹,可组合使用。
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
表格尺寸
size 支持 xs / sm / md / lg 四种尺寸。
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
可排序
设置列的 sortable 属性启用排序,支持升序/降序切换。
姓名
年龄
薪资
地址
张三2815000北京市朝阳区
李四3222000上海市浦东新区
王五2512000广州市天河区
赵六3630000深圳市南山区
钱七2918000杭州市西湖区
多选
rowSelection 配置 checkbox 多选,onChange 回调获取选中行。

已选中:0 项

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

已选中:无

姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
可展开行
通过 #expand-row 插槽自定义展开内容。
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
自定义列渲染
通过 slotName 指定列插槽名,实现标签、按钮等自定义渲染。
姓名
年龄
状态
地址
操作
张三28离线北京市朝阳区建国路88号
李四32离线上海市浦东新区世纪大道1号
王五25离线广州市天河区体育西路103号
赵六36离线深圳市南山区科技园路8号
文字省略
设置列的 ellipsis 属性启用文字省略,需配合 width 使用。
姓名
描述
张三这是一段很长很长的描述文字,用于测试文字省略功能的展示效果,当内容超出容器宽度时会显示省略号
李四另一段超长的描述内容,依然是为了验证省略功能是否正常工作,超出部分应该自动隐藏并显示省略号
固定表头
通过 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号
分页
pagination 配置分页参数,showTotal 显示总数,showPageSize 切换每页条数。
姓名
年龄
地址
用户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号
用户1620城市16号街道16号
用户1721城市17号街道17号
用户1822城市18号街道18号
用户1923城市19号街道19号
用户2024城市20号街道20号
用户2125城市21号街道21号
用户2226城市22号街道22号
用户2327城市23号街道23号
用户2428城市24号街道24号
用户2529城市25号街道25号
用户2630城市26号街道26号
用户2731城市27号街道27号
用户2832城市28号街道28号
用户2933城市29号街道29号
用户3034城市30号街道30号
用户3120城市31号街道31号
用户3221城市32号街道32号
用户3322城市33号街道33号
用户3423城市34号街道34号
用户3524城市35号街道35号
用户3625城市36号街道36号
用户3726城市37号街道37号
用户3827城市38号街道38号
用户3928城市39号街道39号
用户4029城市40号街道40号
用户4130城市41号街道41号
用户4231城市42号街道42号
用户4332城市43号街道43号
用户4433城市44号街道44号
用户4534城市45号街道45号
用户4620城市46号街道46号
用户4721城市47号街道47号
用户4822城市48号街道48号
用户4923城市49号街道49号
用户5024城市50号街道50号
共 50 条...
加载状态
loading 控制加载状态,loadingText 自定义提示文字。
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
工具栏
通过 #toolbar 插槽在表格顶部添加搜索、新增等操作。
用户列表
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
行样式与自定义空状态
rowClassName / rowStyle 自定义行样式;#empty 插槽自定义空状态。
姓名
年龄
地址
张三28北京市朝阳区建国路88号
李四32上海市浦东新区世纪大道1号
王五25广州市天河区体育西路103号
赵六36深圳市南山区科技园路8号
姓名
年龄
地址

🎉 暂无数据

表头分组
通过 column.children 配置多级表头。
姓名
联系方式
地址
张三北京市朝阳区建国路88号
李四上海市浦东新区世纪大道1号
王五广州市天河区体育西路103号
赵六深圳市南山区科技园路8号
方法调用
通过 ref 调用 getSelectedRows / clearSelection / expandAll 等方法。
姓名
年龄
地址
张三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?; y? }-滚动配置
showTotalbooleantrue显示总数
showPageSizebooleanfalse显示每页条数切换
pageSizeOptionsnumber[][10,20,50,100]每页条数选项
emptyTextstring'暂无数据'空数据提示文字
rowClassNamestring | ((record, index) => string)-行自定义类名
rowStyleobject | ((record, index) => object)-行自定义样式
tableLayoutFixedbooleanfalse固定表格布局
expandedRowRender(record) => VNodeChild-展开行渲染函数

Column 配置

参数类型默认值说明
titlestring-列标题
dataIndexstring-数据字段名
widthnumber | string-列宽度
minWidthnumber | string-最小宽度
align'left' | 'center' | 'right''left'对齐方式
fixed'left' | 'right'-固定列
sortableboolean | { sortDirections }-排序
filterablebooleanfalse启用筛选
filters{ label; value }[]-筛选选项
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)点击行
row-dblclick(record, event)双击行
cell-click(record, column, event)点击单元格

Slots

插槽名参数说明
toolbar-表格顶部工具栏区域
empty-空数据自定义内容
expand-row{ record }展开行内容
tfoot-表尾内容
pagination-left-分页左侧区域
pagination-right-分页右侧区域
[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清除所有选中