Appearance
table组件
https://element-plus.org/zh-CN/component/table.html
Hidden Title
all
基础用法
other
单选
多选
多级表头
隐藏按钮或列 isShow
通常用法
编辑
reConfirm再确认
表格里嵌套表格
render生成html
改变操作按钮的属性
对比
属性
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
data | 表格数据源 | array | [] |
columns | 列配置 | array | [] |
showPage | 是否显示分页 | boolean | true |
showIndex | 是否显示序号列 | boolean | true |
pageSize | 每页条数 | number | 30 |
pageNumber | 当前页码 | number | 1 |
pageSizes | 分页器可选每页条数 | array | [10, 30, 50] |
total | 总条数,不传时默认取 data.length | number | - |
columnEmptyText | 单元格空值占位文案 | string | - |
loading | 表格加载状态 | boolean | false |
indexAttrs | 序号列透传给 el-table-column 的配置 | object | {} |
modelValue | 选中值;单选时为当前行,多选时为选中行数组 | any | - |
selectionType | 内置选中模式,支持 single / multiple | string | '' |
selectionAttrs | 内置单选列/多选列透传配置 | object | {} |
asyncUpdate | 是否由外部异步控制分页状态 | boolean | false |
pageAttrs | 分页组件透传配置 | object | {} |
事件
| 事件名 | 说明 | 回调参数 |
|---|---|---|
page-change | 页码或每页条数变化时触发 | ({ pageNumber, pageSize }) |
update:modelValue | 内置单选/多选值变化时触发 | (selectedRow | selectedRows) |
columns 常用字段
| 字段名 | 说明 | 类型 |
|---|---|---|
label | 列标题 | string |
prop | 对应字段名 | string |
type | 特殊列类型,如 selection / expand | string |
width | 列宽 | string / number |
fixed | 固定列 | string / boolean |
align | 对齐方式 | string |
useSlot | 使用插槽渲染,传 true 时默认插槽名为 prop | boolean / string |
render | 自定义渲染函数 | function |
filter | 自定义文本处理 | function |
handler | 单元格点击事件 | function |
isShow | 控制列是否显示,支持布尔值或函数 | boolean / function |
columnEmptyText | 当前列的空值占位文案,会覆盖全局 columnEmptyText | string |
btns | 操作栏按钮配置,存在时该列作为操作列渲染 | array |
maxBtns | 操作栏最多显示的总数量,包含“更多”入口,默认 4 | number |
render 参数
render 统一接收一个对象参数:
ts
render({ row, scope, value, column, action, index })render({ row, scope, value, column, action, index })| 参数名 | 说明 |
|---|---|
row | 当前行数据 |
scope | el-table-column 默认插槽作用域 |
value | 当前列 prop 对应的值;操作按钮未配置 prop 时可能为 undefined |
column | 当前列配置对象 |
action | 当前操作按钮配置对象,仅操作栏下存在 |
index | 当前行索引,对应 scope.$index |
回调参数
filter、handler、isShow、disabled、reConfirm,以及按钮的 content / title 函数,推荐统一使用对象参数:
ts
const callback = ({ row, scope, value, column, action, index, event }) => {}const callback = ({ row, scope, value, column, action, index, event }) => {}value是当前列或当前按钮prop对应的值。event仅点击相关回调下存在。- 仍兼容旧的位置参数写法,但更推荐对象写法,和
render保持一致。
说明
- 组件底层基于
el-table和el-pagination封装,未在上表列出的表格属性可继续通过 attrs 透传。 - 当
asyncUpdate为true时,分页切换只触发page-change事件,由外部维护pageNumber和pageSize。 - 操作栏
maxBtns默认值为4,表示总共最多显示4个槽位;当按钮数量超出时,会显示maxBtns - 1个按钮加一个“更多”入口。 - 单选推荐直接用
v-model + selection-type="single";多选推荐直接用v-model + selection-type="multiple",如果要跨页保留选中项,记得传row-key。