Skip to content

TableColumn 表格列

基于 Element Plus ElTableColumn 的轻量封装,用于配合 MtTable 声明列配置,并透传 Element Plus 表格列能力。

示例

基础用法

自定义单元格

自定义表头

API

Props

Props 直接透传 Element Plus ElTableColumn,常用列属性如下:

属性名说明类型默认值
type列类型'selection' | 'index' | 'expand'-
index索引列的起始值或自定义索引函数number | ((index: number) => number)-
label表头显示文本string-
column-keycolumn 的 key,用于筛选、排序等场景string-
prop对应行数据字段名string-
width列宽string | number-
min-width最小列宽string | number-
fixed固定列位置boolean | 'left' | 'right'false
render-header自定义表头渲染函数(data: { column: unknown, $index: number }) => VNode | string-
sortable是否可排序,设置为 custom 时使用远程排序boolean | 'custom'false
sort-method本地排序方法(a: unknown, b: unknown) => number-
sort-by指定排序字段或排序取值方法string | string[] | ((row: unknown, index: number) => string)-
sort-orders排序切换顺序Array<'ascending' | 'descending' | null>['ascending', 'descending', null]
resizable是否允许拖拽调整列宽booleantrue
formatter单元格内容格式化函数(row: unknown, column: unknown, cellValue: unknown, index: number) => VNode | string-
show-overflow-tooltip内容过长时是否显示 tooltipboolean | object-
align单元格对齐方式'left' | 'center' | 'right''left'
header-align表头对齐方式,未设置时跟随 align'left' | 'center' | 'right'-
class-name列单元格类名string-
label-class-name当前列表头类名string-
selectable仅 selection 列可用,控制某一行是否可选(row: unknown, index: number) => boolean-
reserve-selection仅 selection 列可用,数据刷新后是否保留选中项booleanfalse
filters数据过滤选项Array<{ text: string, value: unknown }>-
filter-placement过滤弹出层位置string-
filter-class-name过滤弹出层类名string-
filter-multiple数据过滤是否支持多选booleantrue
filter-method数据过滤方法(value: unknown, row: unknown, column: unknown) => boolean-
filtered-value当前选中的过滤值unknown[]-

Events

MtTableColumn 和 Element Plus ElTableColumn 都不是事件型组件,列交互通常由外层 MtTable / ElTable 统一抛出事件,例如排序、筛选、选择变化等。列级能力主要通过上方 Props 中的回调函数实现:

能力使用方式说明
自定义表头渲染render-header返回自定义表头内容
自定义单元格格式formatter返回格式化后的单元格内容
本地排序sort-method配合 sortable 控制本地排序逻辑
排序取值sort-by指定用于排序的字段或取值函数
选择禁用selectable控制 selection 列中某一行是否可选
本地过滤filter-method配合 filters 控制本地过滤逻辑

Slots

插槽名说明作用域参数
default自定义单元格内容Element Plus TableColumn 默认插槽作用域
header自定义表头内容Element Plus TableColumn header 插槽作用域

注意事项

  • Props 与事件透传给 ElTableColumn,具体能力以 Element Plus ElTableColumn 为准。
  • default 插槽用于自定义单元格内容,常用作用域参数包含 rowcolumn$index 等。
  • 当同时需要自定义表头和单元格时,建议直接使用 Element Plus ElTableColumn
  • 具体列配置能力以 Element Plus ElTableColumn 为准。
  • MtTableColumn 必须放在 MtTable 内使用。