基础用法
带状态表格
可将表格内容 highlight 显示,方便区分「成功、信息、警告、危险」等内容。
可以通过指定 Table 组件的 row-class-name 属性来为 Table 中的某一行添加 class, 这样就可以自定义每一行的样式了。
注意:默认情况下 BasicTable
的 stripe
是启用的,应该避免产生冲突。
固定表头
纵向内容过多时,可选择固定表头。
只要在 BasicTable
元素中定义了 height
属性,即可实现固定表头的表格,而不需要额外的代码。
展开行
多选
需要用到实例的地方需要增加 tableRef.xxx
比如 multipleTableRef.value.tableRef!.toggleRowSelection(row, undefined)
自定义索引
自定义表头
自定义表头两种方式
使用 renderHeader 执行某一列自定义
该方案会触发控制台警告,压力给到 element-plus
这边。详情参考 问题
使用 header 插槽统一修改 table header
slot 与 render
某一列支持通过 slot 或者 render 方式进行渲染。
通过 customRender
进行控制,如果值为 render
则需要配合 render
函数实现,否则就是对应值的 slot
分页表格
编辑列
编辑行
API
Attributes
名称 | 说明 | 类型 | 默认值 | 必填 |
---|---|---|---|---|
$attrs | 支持 ElTable 所有属性及方法 | 否 | ||
columns | column 的配置 | TableColumn[] | 否 | |
data | 数据源 | Recordable[] | 否 | |
config | table 配置 | TableConfig | 否 |
Column 除官方参数外拓展以下参数
名称 | 说明 | 类型 | 默认值 | 必填 |
---|---|---|---|---|
$attrs | 支持 ElTableColumn 的所有属性 | 否 | ||
formatter | 非 slot 时对内容进行格式化,优先级低于 slot | 否 | ||
placeholder | 当该单元格值为空时显示的值,默认为 - | 否 | ||
customRender | custom 值等于 render 时传入 render 生效,否则它的值就被视为 slot | string | 否 | |
render | custom 值等于 render 时的函数 | Function | 否 | |
type | 索引,勾选,展开表格时使用 | string | 否 | |
editable | 是否开启表格编辑 | boolean | 否 | |
editRow | 是否开启编辑行 | boolean | 否 | |
editColumn | 是否开启编辑列 | boolean | 否 | |
editColumnScheduler | 对编辑组件的触发控制 | Function | function (): Promise<boolean> | 否 |
editRule | 对应编辑组件的表单校验 | boolean | true | 否 |
editComponent | 编辑组件 | ComponentsType | ElInput | 否 |
editComponentProps | 对应编辑组件的 props | Recordable | {} | 否 |
支持编辑组件
ts
import {
ElInput, ElInputNumber,
ElSelect, ElSelectV2, ElTimeSelect, ElCascader,
ElSwitch,
ElTimePicker, ElDatePicker, ElMessage,
ElOption
} from 'element-plus';
export type ComponentsType = 'ElInput' |
'ElInputNumber' |
'ElSelect' |
'ElSwitch' |
'ElTimeSelect' |
'ElTimePicker' |
'ElSelectV2' |
'ElDatePicker' |
'ElCascader'
import {
ElInput, ElInputNumber,
ElSelect, ElSelectV2, ElTimeSelect, ElCascader,
ElSwitch,
ElTimePicker, ElDatePicker, ElMessage,
ElOption
} from 'element-plus';
export type ComponentsType = 'ElInput' |
'ElInputNumber' |
'ElSelect' |
'ElSwitch' |
'ElTimeSelect' |
'ElTimePicker' |
'ElSelectV2' |
'ElDatePicker' |
'ElCascader'
Config table 的额外配置
名称 | 说明 | 类型 | 默认值 | 必填 |
---|---|---|---|---|
isPagination | 是否开启分页 | boolean | true | 否 |
pagination | 分页的配置 | Recordable | 否 |
Events
名称 | 说明 | 类型 |
---|---|---|
edit-column-change | table cell 编辑完成后触发 | function (scope): void |
current-change | 当前页面更改时触发 | function (pageNum: number): void |
Methods
名称 | 说明 | 参数 |
---|---|---|
tableRef | tableRef.xxx 支持 ElTable 的所有方法 | |
setEditRowIndex | 设置 index 编辑行时使用 | `number |
getEditRowIndex | 获取当前正在被编辑的行 | |
cancelEdit | 退出编辑行模式 |
Slots
插槽名 | 说明 | 子标签 |
---|---|---|
header | 统一表头的修改 | |
expand | 展开行 |