:: BASE_DOC ::
| 名称 | 类型 | 默认值 | 说明 | 必传 |
|---|---|---|---|---|
| allowResizeColumnWidth | Boolean | false | 是否允许调整列宽 | N |
| bordered | Boolean | false | 是否显示表格边框 | N |
| bottomContent | String / Slot / Function | - | 表格底部内容,可以用于自定义列设置等。TS 类型:`string | TNode`。通用类型定义 |
| columns | Array | [] | 列配置,泛型 T 指表格数据类型。TS 类型:Array<BaseTableCol<T>> |
N |
| data | Array | [] | 数据源,泛型 T 指表格数据类型。TS 类型:Array<T> |
N |
| disableDataPage | Boolean | false | 是否禁用本地数据分页。当 data 数据长度超过分页大小时,会自动进行本地数据分页。如果 disableDataPage 设置为 true,则无论何时,都不会进行本地数据分页 |
N |
| empty | String / Slot / Function | '' | 空表格呈现样式,支持全局配置 GlobalConfigProvider。TS 类型:`string |
TNode`。通用类型定义 |
| firstFullRow | String / Slot / Function | - | 首行内容。TS 类型:`string | TNode`。通用类型定义 |
| fixedRows | Array | - | 固定行(冻结行),示例:[M, N],表示冻结表头 M 行和表尾 N 行。M 和 N 值为 0 时,表示不冻结行。TS 类型:Array<number> |
N |
| footData | Array | [] | 表尾数据源,泛型 T 指表格数据类型。TS 类型:Array<T> |
N |
| footerAffixedBottom | Boolean | false | 表尾吸底 | N |
| footerAffixProps | Object | - | 表尾吸底基于 Affix 组件开发,透传全部 Affix 组件属性。TS 类型:AffixProps |
N |
| headerAffixedTop | Boolean | false | 表头吸顶 | N |
| headerAffixProps | Object | - | 表头吸顶基于 Affix 组件开发,透传全部 Affix 组件属性。TS 类型:AffixProps,Affix API Documents。详细类型定义 |
N |
| height | String / Number | - | 表格高度,超出后会出现滚动条。示例:100, '30%', '300'。值为数字类型,会自动加上单位 px。如果不是绝对固定表格高度,建议使用 maxHeight |
N |
| hover | Boolean | false | 是否显示鼠标悬浮状态 | N |
| lastFullRow | String / Slot / Function | - | 尾行内容。TS 类型:`string | TNode`。通用类型定义 |
| loading | Boolean / Slot / Function | undefined | 加载中状态。值为 true 会显示默认加载中样式,可以通过 Function 和 插槽 自定义加载状态呈现内容和样式。值为 false 则会取消加载状态。TS 类型:`boolean |
TNode`。通用类型定义 |
| loadingProps | Object | - | 透传加载组件全部属性。TS 类型:LoadingProps,Loading API Documents。详细类型定义 |
N |
| maxHeight | String / Number | - | 表格最大高度,超出后会出现滚动条。示例:100, '30%', '300'。值为数字类型,会自动加上单位 px | N |
| pagination | Object | - | 分页配置,值为空则不显示。具体 API 参考分页组件。当 data 数据长度超过分页大小时,会自动对本地数据 data 进行排序,如果不希望对于 data 进行排序,可以设置 disableDataPage = true。TS 类型:PaginationProps,Pagination API Documents。详细类型定义 |
N |
| rowAttributes | Object / Array / Function | - | HTML 标签 tr 的属性。类型为 Function 时,参数说明:params.row 表示行数据;params.rowIndex 表示行下标;params.type=body 表示属性作用于 tbody 中的元素;params.type=foot 表示属性作用于 tfoot 中的元素。示例一:{ draggable: true }, 示例二:[{ draggable: true }, { title: '超出省略显示' }]。 示例三:() => [{ draggable: true }]。TS 类型: TableRowAttributes<T> `type TableRowAttributes = HTMLElementAttributes |
((params: { row: T; rowIndex: number; type: 'body' |
| rowClassName | String / Object / Array / Function | - | 行类名,泛型 T 指表格数据类型。params.row 表示行数据;params.rowIndex 表示行下标;params.type=body 表示类名作用于 tbody 中的元素;params.type=body 表示类名作用于 tfoot 中的元素。TS 类型:`ClassName |
((params: RowClassNameParams) => ClassName) interface RowClassNameParams { row: T; rowIndex: number; type?: 'body' |
| rowKey | String | 'id' | 必需。使用 rowKey 唯一标识一行数据 | Y |
| rowspanAndColspan | Function | - | 用于自定义合并单元格,泛型 T 指表格数据类型。示例:({ row, col, rowIndex, colIndex }) => { rowspan: 2, colspan: 3 }。TS 类型:TableRowspanAndColspanFunc<T> type TableRowspanAndColspanFunc<T> = (params: BaseTableCellParams<T>) => RowspanColspan interface RowspanColspan { colspan?: number; rowspan?: number }。详细类型定义 |
N |
| scroll | Object | - | 懒加载和虚拟滚动。为保证组件收益最大化,当数据量小于阈值 scroll.threshold 时,无论虚拟滚动的配置是否存在,组件内部都不会开启虚拟滚动,scroll.threshold 默认为 100。TS 类型:TableScroll |
N |
| size | String | medium | 表格尺寸。可选项:small/medium/large。TS 类型:SizeEnum。通用类型定义 |
N |
| stripe | Boolean | false | 是否显示斑马纹 | N |
| tableContentWidth | String | - | 表格内容的总宽度,注意不是表格可见宽度。主要应用于 table-layout: auto 模式下的固定列显示。tableContentWidth 内容宽度的值必须大于表格可见宽度 |
N |
| tableLayout | String | fixed | 表格布局方式。可选项:auto/fixed | N |
| topContent | String / Slot / Function | - | 表格顶部内容,可以用于自定义列设置、顶部查询条件等。TS 类型:`string | TNode`。通用类型定义 |
| verticalAlign | String | middle | 行内容上下方向对齐。可选项:top/middle/bottom | N |
| onCellClick | Function | TS 类型:(context: BaseTableCellEventContext<T>) => void单元格点击时触发。详细类型定义。 interface BaseTableCellEventContext<T> { row: T; col: BaseTableCol; rowIndex: number; colIndex: number; e: MouseEvent } |
N | |
| onPageChange | Function | TS 类型:(pageInfo: PageInfo, newDataSource: Array<T>) => void分页发生变化时触发。参数 newDataSource 表示分页后的数据。本地数据进行分页时,newDataSource 和源数据 data 会不一样。泛型 T 指表格数据类型 |
N | |
| onRowClick | Function | TS 类型:(context: RowEventContext<T>) => void行点击时触发,泛型 T 指表格数据类型。详细类型定义。 interface RowEventContext<T> { row: T; index: number; e: MouseEvent } |
N | |
| onRowDblclick | Function | TS 类型:(context: RowEventContext<T>) => void行双击时触发,泛型 T 指表格数据类型 |
N | |
| onRowMousedown | Function | TS 类型:(context: RowEventContext<T>) => void鼠标在表格行按下时触发,泛型 T 指表格数据类型 |
N | |
| onRowMouseenter | Function | TS 类型:(context: RowEventContext<T>) => void鼠标在表格行进入时触发,泛型 T 指表格数据类型 |
N | |
| onRowMouseleave | Function | TS 类型:(context: RowEventContext<T>) => void鼠标在表格行离开时触发,泛型 T 指表格数据类型 |
N | |
| onRowMouseover | Function | TS 类型:(context: RowEventContext<T>) => void鼠标悬浮到行时触发,泛型 T 指表格数据类型 |
N | |
| onRowMouseup | Function | TS 类型:(context: RowEventContext<T>) => void鼠标在表格行按下又弹起时触发,泛型 T 指表格数据类型 |
N | |
| onScroll | Function | TS 类型:(params: { e: WheelEvent }) => void表格内容滚动时触发 |
N | |
| onScrollX | Function | TS 类型:(params: { e: WheelEvent }) => void已废弃。表格内容横向滚动时触发。请更为使用 onScroll 事件 |
N | |
| onScrollY | Function | TS 类型:(params: { e: WheelEvent }) => void已废弃。表格内容纵向滚动时触发。当内容超出高度(height)或最大高度(max-height)时,会出现纵向滚动条。请更为使用 onScroll 事件 |
N |
| 名称 | 参数 | 描述 |
|---|---|---|
| cell-click | (context: BaseTableCellEventContext<T>) |
单元格点击时触发。详细类型定义。interface BaseTableCellEventContext<T> { row: T; col: BaseTableCol; rowIndex: number; colIndex: number; e: MouseEvent } |
| page-change | (pageInfo: PageInfo, newDataSource: Array<T>) |
分页发生变化时触发。参数 newDataSource 表示分页后的数据。本地数据进行分页时,newDataSource 和源数据 data 会不一样。泛型 T 指表格数据类型 |
| row-click | (context: RowEventContext<T>) |
行点击时触发,泛型 T 指表格数据类型。详细类型定义。interface RowEventContext<T> { row: T; index: number; e: MouseEvent } |
| row-dblclick | (context: RowEventContext<T>) |
行双击时触发,泛型 T 指表格数据类型 |
| row-mousedown | (context: RowEventContext<T>) |
鼠标在表格行按下时触发,泛型 T 指表格数据类型 |
| row-mouseenter | (context: RowEventContext<T>) |
鼠标在表格行进入时触发,泛型 T 指表格数据类型 |
| row-mouseleave | (context: RowEventContext<T>) |
鼠标在表格行离开时触发,泛型 T 指表格数据类型 |
| row-mouseover | (context: RowEventContext<T>) |
鼠标悬浮到行时触发,泛型 T 指表格数据类型 |
| row-mouseup | (context: RowEventContext<T>) |
鼠标在表格行按下又弹起时触发,泛型 T 指表格数据类型 |
| scroll | (params: { e: WheelEvent }) |
表格内容滚动时触发 |
| scroll-x | (params: { e: WheelEvent }) |
已废弃。表格内容横向滚动时触发。请更为使用 onScroll 事件 |
| scroll-y | (params: { e: WheelEvent }) |
已废弃。表格内容纵向滚动时触发。当内容超出高度(height)或最大高度(max-height)时,会出现纵向滚动条。请更为使用 onScroll 事件 |
| 名称 | 类型 | 默认值 | 说明 | 必传 |
|---|---|---|---|---|
| align | String | left | 列横向对齐方式。可选项:left/right/center | N |
| attrs | Object | - | 透传 HTML 属性到列元素 | N |
| cell | String / Function | - | 自定义单元格渲染。值类型为 Function 表示以函数形式渲染单元格。值类型为 string 表示使用插槽渲染,插槽名称为 cell 的值。默认使用 colKey 作为插槽名称。优先级高于 render。泛型 T 指表格数据类型。TS 类型:`string | TNode<BaseTableCellParams> interface BaseTableCellParams { row: T; rowIndex: number; col: BaseTableCol; colIndex: number }`。通用类型定义。详细类型定义 |
| children | Array | - | 用于多级表头,泛型 T 指表格数据类型。TS 类型:Array<BaseTableCol<T>> |
N |
| className | String / Object / Array / Function | - | 列类名,值类型是 Function 使用返回值作为列类名;值类型不为 Function 时,值用于整列类名(含表头)。泛型 T 指表格数据类型。TS 类型:`ClassName | ((context: CellData) => ClassName) interface CellData extends BaseTableCellParams { type: 'th' |
| colKey | String | - | 渲染列所需字段 | N |
| ellipsis | Boolean / Object / Slot / Function | false | 单元格和表头内容超出时,是否显示省略号。如果仅希望单元格超出省略,可设置 ellipsisTitle = false。值为 true,则浮层默认显示单元格内容;值类型为 Function 则自定义浮层显示内容;值类型为 Object,则自动透传属性到 Popup 组件,可用于调整浮层方向等特性。TS 类型:`boolean |
TNode<BaseTableCellParams> |
| ellipsisTitle | Boolean / Object / Slot / Function | undefined | 表头内容超出时,是否显示省略号。优先级高于 ellipsis。值为 true,则浮层默认显示表头全部内容;值类型为 Function 则自定义浮层显示表头内容;值类型为 Object,则自动透传属性到 Popup 组件,可用于调整浮层方向等特性。TS 类型:`boolean |
TNode<BaseTableColParams> |
| fixed | String | left | 固定列显示位置。可选项:left/right | N |
| foot | String / Function | - | 自定义表尾表尾。值类型为 Function 表示以函数形式渲染表尾内容。值类型为 string 表示使用插槽渲染,插槽名称为 foot 值。TS 类型:`string |
TNode<{ col: BaseTableCol; colIndex: number }>`。通用类型定义 |
| render | Function | - | 自定义表头或单元格,泛型 T 指表格数据类型。TS 类型:TNode<BaseTableRenderParams<T>> interface BaseTableRenderParams<T> extends BaseTableCellParams<T> { type: RenderType } `type RenderType = 'cell' |
'title'`。通用类型定义。详细类型定义 |
| title | String / Function | - | 自定义表头渲染。值类型为 Function 表示以函数形式渲染表头。值类型为 string 表示使用插槽渲染,插槽名称为 title 的值。优先级高于 render。TS 类型:`string | TNode<{ col: BaseTableCol; colIndex: number }>`。通用类型定义 |
| width | String / Number | - | 列宽,可以作为最小宽度使用。当列宽总和小于 table 元素时,浏览器根据宽度设置情况自动分配宽度;当列宽总和大于 table 元素,表现为定宽。可以同时调整 table 元素的宽度来达到自己想要的效果 |
N |
| 名称 | 类型 | 默认值 | 说明 | 必传 |
|---|---|---|---|---|
| asyncLoading | String / Slot / Function | - | 异步加载状态。值为 loading 显示默认文字 “正在加载中,请稍后”,值为 loading-more 显示“点击加载更多”,值为其他,表示完全自定义异步加载区域内容。TS 类型:`'loading' |
'load-more' |
| columnController | Object | - | 自定义显示列控制器,值为空不会显示。具体属性请看下方 TableColumnController 文档。TS 类型:TableColumnController |
N |
| columnControllerVisible | Boolean | undefined | 是否显示列配置弹框控制器,只要该属性值不为 undefined,弹框的显示/隐藏完全由该属性控制。支持语法糖 .sync |
N |
| defaultColumnControllerVisible | Boolean | undefined | 是否显示列配置弹框控制器,只要该属性值不为 undefined,弹框的显示/隐藏完全由该属性控制。非受控属性 |
N |
| columns | Array | [] | 列配置,泛型 T 指表格数据类型。TS 类型:Array<PrimaryTableCol<T>> |
N |
| displayColumns | Array | - | 列配置功能中,当前显示的列。支持语法糖 .sync。TS 类型:CheckboxGroupValue |
N |
| defaultDisplayColumns | Array | - | 列配置功能中,当前显示的列。非受控属性。TS 类型:CheckboxGroupValue |
N |
| dragSort | String | - | 拖拽排序方式,值为 row 表示行拖拽排序,这种方式无法进行文本复制,慎用。值为row-handler 表示通过专门的 拖拽手柄 进行 行拖拽排序。值为 col 表示列顺序拖拽。drag-col 已废弃,请勿使用。可选项:row/row-handler/col/drag-col |
N |
| dragSortOptions | Object | - | 拖拽排序扩展参数,具体参数见 Sortable。TS 类型:SortableOptions |
N |
| expandedRow | String / Slot / Function | - | 展开行内容,泛型 T 指表格数据类型。TS 类型:TNode<TableExpandedRowParams<T>> `interface TableExpandedRowParams { row: T; index: number; columns: PrimaryTableCol[] |
BaseTableCol[] }`。通用类型定义。详细类型定义 |
| expandedRowKeys | Array | [] | 展开行。支持语法糖 .sync。TS 类型:`Array<string |
number>` |
| defaultExpandedRowKeys | Array | [] | 展开行。非受控属性。TS 类型:`Array<string | number>` |
| expandIcon | Boolean / Slot / Function | true | 用于控制是否显示「展开图标列」,值为 false 则不会显示。可以精确到某一行是否显示,还可以自定义展开图标内容。expandedRow 存在时,该参数有效。支持全局配置 GlobalConfigProvider。TS 类型:`boolean |
TNode<ExpandArrowRenderParams> interface ExpandArrowRenderParams { row: T; index: number }`。通用类型定义。详细类型定义 |
| expandOnRowClick | Boolean | - | 是否允许点击行展开 | N |
| filterIcon | Slot / Function | - | 自定义过滤图标,支持全局配置 GlobalConfigProvider。TS 类型:TNode。通用类型定义 |
N |
| filterRow | String / Slot / Function | - | 自定义过滤状态行及清空筛选等。TS 类型:`string | TNode`。通用类型定义 |
| filterValue | Object | - | 过滤数据的值。支持语法糖 .sync。TS 类型:FilterValue type FilterValue = { [key: string]: any }。详细类型定义 |
N |
| defaultFilterValue | Object | - | 过滤数据的值。非受控属性。TS 类型:FilterValue type FilterValue = { [key: string]: any }。详细类型定义 |
N |
| hideSortTips | Boolean | - | 隐藏排序文本提示,支持全局配置 GlobalConfigProvider,默认全局配置值为 false |
N |
| multipleSort | Boolean | false | 是否支持多列排序 | N |
| selectedRowKeys | Array | - | 选中的行,控制属性。支持语法糖 .sync。TS 类型:`Array<string |
number>` |
| defaultSelectedRowKeys | Array | - | 选中的行,控制属性。非受控属性。TS 类型:`Array<string | number>` |
| sort | Object / Array | - | 排序控制。sortBy 排序字段;descending 是否进行降序排列。值为数组时,表示正进行多字段排序。支持语法糖 .sync。TS 类型:TableSort `type TableSort = SortInfo |
Array interface SortInfo { sortBy: string; descending: boolean }`。详细类型定义 |
| defaultSort | Object / Array | - | 排序控制。sortBy 排序字段;descending 是否进行降序排列。值为数组时,表示正进行多字段排序。非受控属性。TS 类型:TableSort `type TableSort = SortInfo |
Array interface SortInfo { sortBy: string; descending: boolean }`。详细类型定义 |
| sortIcon | Slot / Function | - | 自定义排序图标,支持全局配置 GlobalConfigProvider。TS 类型:TNode。通用类型定义 |
N |
| sortOnRowDraggable | Boolean | false | 已废弃。允许表格行拖拽时排序。请更为使用 dragSort="row" |
N |
| `Omit<BaseTableProps, 'columns' | 'onCellClick'>` | - | - | 继承 `Omit<BaseTableProps, 'columns' |
| onAsyncLoadingClick | Function | TS 类型:`(context: { status: 'loading' | 'load-more' }) => void` 异步加载区域被点击时触发 |
|
| onCellClick | Function | TS 类型:(context: PrimaryTableCellEventContext<T>) => void单元格点击时触发。详细类型定义。 interface PrimaryTableCellEventContext<T> { row: T; col: PrimaryTableCol; rowIndex: number; colIndex: number; e: MouseEvent } |
N | |
| onChange | Function | TS 类型:(data: TableChangeData, context: TableChangeContext<T>) => void分页、排序、过滤等内容变化时触发,泛型 T 指表格数据类型, currentData 表示变化后的数据。详细类型定义。interface TableChangeData { sorter?: TableSort; filter?: FilterValue; pagination?: PaginationProps }interface TableChangeContext<T> { trigger: TableChangeTrigger; currentData?: T[] }`type TableChangeTrigger = 'filter' |
'sorter' | |
| onColumnChange | Function | TS 类型:(context: PrimaryTableColumnChange<T>) => void确认操作之前列配置发生变化时触发。 context.columns 表示已选中的列;context.currentColumn 表示本次变化操作的列,值不存在表示全选操作;context.type 表示当前操作属于选中列或是取消列。详细类型定义。`interface PrimaryTableColumnChange { columns?: CheckboxGroupValue; currentColumn?: PrimaryTableCol; type?: 'check' |
'uncheck'; e?: Event }` |
|
| onColumnControllerVisibleChange | Function | TS 类型:`(visible: boolean, context: { trigger: 'cancel' | 'confirm' }) => void` 列配置弹窗显示或隐藏变化时触发 |
|
| onDataChange | Function | TS 类型:(data: Array<T>, context: TableDataChangeContext) => void本地数据排序导致 data 变化时触发,第一个参数指变化后的数据,第二个参数 context.trigger 表示触发本次变化的来源。详细类型定义。interface TableDataChangeContext { trigger: 'sort' } |
N | |
| onDisplayColumnsChange | Function | TS 类型:(value: CheckboxGroupValue) => void确认列配置时触发。详细类型定义。 import { CheckboxGroupValue } from '@Checkbox' |
N | |
| onDragSort | Function | TS 类型:(context: DragSortContext<T>) => void拖拽排序时触发, currentData 表示拖拽排序结束后的新数据,sort=row 表示行拖拽事件触发,sort=col 表示列拖拽事件触发。详细类型定义。`interface DragSortContext { currentIndex: number; current: T; targetIndex: number; target: T; currentData: T[]; e: SortableEvent; sort: 'row' |
'col' }<br/><br/>import { SortableEvent, SortableOptions } from 'sortablejs'` |
|
| onExpandChange | Function | TS 类型:`(expandedRowKeys: Array<string | number>, options: ExpandOptions) => void<br/>展开行发生变化时触发,泛型 T 指表格数据类型。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/table/type.ts)。<br/>interface ExpandOptions { expandedRowData: Array }` |
|
| onFilterChange | Function | TS 类型:(filterValue: FilterValue, context: { col?: PrimaryTableCol<T> }) => void过滤参数发生变化时触发,泛型 T 指表格数据类型 |
N | |
| onSelectChange | Function | TS 类型:`(selectedRowKeys: Array<string | number>, options: SelectOptions) => void<br/>选中行发生变化时触发,泛型 T 指表格数据类型。两个参数,第一个参数为选中行 keys,第二个参数为更多参数,具体如下:type = uncheck 表示当前行操作为「取消行选中」;type = check表示当前行操作为「行选中」;currentRowKey表示当前操作行的 rowKey 值;currentRowData 表示当前操作行的行数据。[详细类型定义](https://github.com/Tencent/tdesign-vue/tree/develop/src/table/type.ts)。<br/>interface SelectOptions { selectedRowData: Array; type: 'uncheck' |
|
| onSortChange | Function | TS 类型:(sort: TableSort, options: SortOptions<T>) => void排序发生变化时触发。其中 sortBy 表示当前排序的字段,sortType 表示排序的方式,currentDataSource 表示 sorter 排序后的结果,col 表示列配置。sort 值类型为数组时表示多字段排序。详细类型定义。 interface SortOptions<T> { currentDataSource?: Array<T>; col: PrimaryTableCol } |
N |
| 名称 | 参数 | 描述 |
|---|---|---|
| async-loading-click | `(context: { status: 'loading' | 'load-more' })` |
| cell-click | (context: PrimaryTableCellEventContext<T>) |
单元格点击时触发。详细类型定义。interface PrimaryTableCellEventContext<T> { row: T; col: PrimaryTableCol; rowIndex: number; colIndex: number; e: MouseEvent } |
| change | (data: TableChangeData, context: TableChangeContext<T>) |
分页、排序、过滤等内容变化时触发,泛型 T 指表格数据类型,currentData 表示变化后的数据。详细类型定义。interface TableChangeData { sorter?: TableSort; filter?: FilterValue; pagination?: PaginationProps }interface TableChangeContext<T> { trigger: TableChangeTrigger; currentData?: T[] }`type TableChangeTrigger = 'filter' |
| column-change | (context: PrimaryTableColumnChange<T>) |
确认操作之前列配置发生变化时触发。context.columns 表示已选中的列;context.currentColumn 表示本次变化操作的列,值不存在表示全选操作;context.type 表示当前操作属于选中列或是取消列。详细类型定义。`interface PrimaryTableColumnChange { columns?: CheckboxGroupValue; currentColumn?: PrimaryTableCol; type?: 'check' |
| column-controller-visible-change | `(visible: boolean, context: { trigger: 'cancel' | 'confirm' })` |
| data-change | (data: Array<T>, context: TableDataChangeContext) |
本地数据排序导致 data 变化时触发,第一个参数指变化后的数据,第二个参数 context.trigger 表示触发本次变化的来源。详细类型定义。interface TableDataChangeContext { trigger: 'sort' } |
| display-columns-change | (value: CheckboxGroupValue) |
确认列配置时触发。详细类型定义。import { CheckboxGroupValue } from '@Checkbox' |
| drag-sort | (context: DragSortContext<T>) |
拖拽排序时触发,currentData 表示拖拽排序结束后的新数据,sort=row 表示行拖拽事件触发,sort=col 表示列拖拽事件触发。详细类型定义。`interface DragSortContext { currentIndex: number; current: T; targetIndex: number; target: T; currentData: T[]; e: SortableEvent; sort: 'row' |
| expand-change | `(expandedRowKeys: Array<string | number>, options: ExpandOptions)` |
| filter-change | (filterValue: FilterValue, context: { col?: PrimaryTableCol<T> }) |
过滤参数发生变化时触发,泛型 T 指表格数据类型 |
| select-change | `(selectedRowKeys: Array<string | number>, options: SelectOptions)` |
| sort-change | (sort: TableSort, options: SortOptions<T>) |
排序发生变化时触发。其中 sortBy 表示当前排序的字段,sortType 表示排序的方式,currentDataSource 表示 sorter 排序后的结果,col 表示列配置。sort 值类型为数组时表示多字段排序。详细类型定义。interface SortOptions<T> { currentDataSource?: Array<T>; col: PrimaryTableCol } |
| 名称 | 类型 | 默认值 | 说明 | 必传 |
|---|---|---|---|---|
| cell | String / Function | - | 自定义单元格渲染。值类型为 Function 表示以函数形式渲染单元格。值类型为 string 表示使用插槽渲染,插槽名称为 cell 的值。默认使用 colKey 作为插槽名称。优先级高于 render。泛型 T 指表格数据类型。TS 类型:`string | TNode<PrimaryTableCellParams> interface PrimaryTableCellParams { row: T; rowIndex: number; col: PrimaryTableCol; colIndex: number }`。通用类型定义。详细类型定义 |
| checkProps | Object / Function | - | 透传参数,colKey 值为 row-select 时,配置有效。具体定义参考 Checkbox 组件 和 Radio 组件。泛型 T 指表格数据类型。TS 类型:CheckProps<T> `type CheckProps = CheckboxProps |
RadioProps |
| children | Array | - | 用于多级表头,泛型 T 指表格数据类型。TS 类型:Array<PrimaryTableCol<T>> |
N |
| colKey | String | - | 渲染列所需字段,必须唯一。值为 row-select 表示当前列为行选中操作列。值为 drag 表示当前列为拖拽排序操作列 |
N |
| disabled | Function | - | 是否禁用行选中,colKey 值为 row-select 时,配置有效。TS 类型:(options: {row: T; rowIndex: number }) => boolean |
N |
| filter | Object | - | 过滤规则,支持多选(multiple)、单选(single)、输入框(input) 等三种形式。想要自定义过滤组件,可通过 filter.component 实现,自定义过滤组件需要包含参数 value 和事件 change。TS 类型:TableColumnFilter |
N |
| render | Function | - | 自定义表头或单元格,泛型 T 指表格数据类型。TS 类型:TNode<PrimaryTableRenderParams<T>> interface PrimaryTableRenderParams<T> extends PrimaryTableCellParams<T> { type: RenderType }。通用类型定义。详细类型定义 |
N |
| sorter | Boolean / Function | false | 该列是否支持排序。值为 true 表示该列支持排序;值类型为函数,表示对本地数据 data 进行排序,返回值参考 MDN Array.sort。泛型 T 指表格数据类型。TS 类型:`boolean |
SorterFun type SorterFun = (a: T, b: T) => number`。详细类型定义 |
| sortType | String | all | 当前列支持排序的方式,desc 表示当前列只能进行降序排列;asc 表示当前列只能进行升序排列;all 表示当前列既可升序排列,又可以降序排列。可选项:desc/asc/all。TS 类型:SortType `type SortType = 'desc' |
'asc' |
| title | String / Function | - | 自定义表头渲染。值类型为 Function 表示以函数形式渲染表头。值类型为 string 表示使用插槽渲染,插槽名称为 title 的值。优先级高于 render。TS 类型:`string | TNode<{ col: PrimaryTableCol; colIndex: number }>`。通用类型定义 |
| type | String | single | colKey 值为 row-select 时表示行选中列,有两种模式:单选和多选。 type=single 表示单选,type=multiple 表示多选。可选项:single/multiple |
N |
| `Omit<BaseTableCol, 'cell' | 'title' | 'render' | 'children'>` | - |
| 名称 | 类型 | 默认值 | 说明 | 必传 |
|---|---|---|---|---|
| beforeDragSort | Function | - | 树形结构中,拖拽排序前控制,返回值为 true 则继续排序;返回值为 false 则中止排序还原数据。TS 类型:(context: DragSortContext<T>) => boolean |
N |
| tree | Object | - | 树形结构相关配置。具体属性文档查看 TableTreeConfig 相关描述。TS 类型:TableTreeConfig |
N |
| treeExpandAndFoldIcon | Function | - | 自定义树形结构展开图标,支持全局配置 GlobalConfigProvider。TS 类型:`TNode<{ type: 'expand' |
'fold' }>`。通用类型定义 |
PrimaryTableProps<T> |
- | - | 继承 PrimaryTableProps<T> 中的全部 API |
N |
| onAbnormalDragSort | Function | TS 类型:(context: TableAbnormalDragSortContext<T>) => void异常拖拽排序时触发,如:树形结构中,非同层级之间的交换。 context.code 指交换异常错误码,固定值;context.reason 指交换异常的原因。详细类型定义。interface TableAbnormalDragSortContext<T> { code: number; reason: string } |
N | |
| onTreeExpandChange | Function | TS 类型:(context: TableTreeExpandChangeContext<T>) => void树形结构,用户操作引起节点展开或收起时触发,代码操作不会触发。详细类型定义。 interface TableTreeExpandChangeContext<T> { row: T; rowIndex: number; rowState: TableRowState<T>; trigger?: 'expand-fold-icon' } |
N |
| 名称 | 参数 | 描述 |
|---|---|---|
| abnormal-drag-sort | (context: TableAbnormalDragSortContext<T>) |
异常拖拽排序时触发,如:树形结构中,非同层级之间的交换。context.code 指交换异常错误码,固定值;context.reason 指交换异常的原因。详细类型定义。interface TableAbnormalDragSortContext<T> { code: number; reason: string } |
| tree-expand-change | (context: TableTreeExpandChangeContext<T>) |
树形结构,用户操作引起节点展开或收起时触发,代码操作不会触发。详细类型定义。interface TableTreeExpandChangeContext<T> { row: T; rowIndex: number; rowState: TableRowState<T>; trigger?: 'expand-fold-icon' } |
| 名称 | 参数 | 返回值 | 描述 |
|---|---|---|---|
| expandAll | - | - | 必需。展开全部行 |
| foldAll | - | - | 必需。折叠全部行 |
| getData | (key: TableRowValue) |
TableRowState<T> |
必需。树形结构中,用于获取行数据所有信息。泛型 T 表示行数据类型。详细类型定义。`type TableRowValue = string |
| remove | (key: TableRowValue) |
- | 必需。树形结构中,移除指定节点 |
| setData | (key: TableRowValue, newRowData: T) |
- | 必需。树形结构中,用于更新行数据。泛型 T 表示行数据类型 |
| toggleExpandData | (p: { row: T, rowIndex: number}) |
- | 必需。展开或收起树形行 |
| 名称 | 类型 | 默认值 | 说明 | 必传 |
|---|---|---|---|---|
| disabled | Boolean | false | 表格行是否禁用选中 | N |
| expandChildrenLength | Number | - | 当前节点展开的子节点数量 | N |
| expanded | Boolean | false | 必需。表格行是否展开 | Y |
| id | String / Number | - | 必需。唯一标识 | Y |
| level | Number | - | 当前节点层级。TS 类型:number |
N |
| parent | - | - | 父节点。TS 类型:TableRowState<T> |
N |
| path | Array | - | 当前节点路径。TS 类型:TableRowState<T>[] |
N |
| row | - | - | 必需。原始表格行数据。TS 类型:T |
Y |
| rowIndex | Number | - | 必需。表格行下标,值为 -1 标识当前行未展开显示 |
Y |
| 名称 | 类型 | 默认值 | 说明 | 必传 |
|---|---|---|---|---|
| component | Slot / Function | - | 用于自定义筛选器,只要保证自定义筛选器包含 value 属性 和 change 事件,即可像内置筛选器一样正常使用。TS 类型:TNode。通用类型定义 |
N |
| list | Array | - | 用于配置当前筛选器可选值有哪些,仅当 filter.type 等于 single 或 multiple 时有效。TS 类型:Array<OptionData>。通用类型定义 |
N |
| props | Array | - | 用于透传筛选器属性,可以对筛选器进行任何原组件支持的属性配置。TS 类型:FilterProps `type FilterProps = RadioProps |
CheckboxProps |
| resetValue | - | - | 重置时设置的值,示例:'' 或 []。TS 类型:any |
N |
| showConfirmAndReset | Boolean | false | 是否显示重置和确认。值为真,过滤事件(filter-change)会在确定时触发;值为假,则数据变化时会立即触发过滤事件 | N |
| type | String | - | 用于设置筛选器类型:单选按钮筛选器、复选框筛选器、输入框筛选器。TS 类型:FilterType `type FilterType = 'input' |
'single' |
| 名称 | 类型 | 默认值 | 说明 | 必传 |
|---|---|---|---|---|
| bufferSize | Number | 20 | 表示表格除可视区域外,额外渲染的行数,避免表格快速滚动过程中,新出现的内容来不及渲染从而出现空白 | N |
| isFixedRowHeight | Boolean | false | 表示表格每行内容是否同一个固定高度,仅在 scroll.type 为 virtual 时有效,该属性设置为 true 时,可用于简化虚拟滚动内部计算逻辑,提升性能,此时则需要明确指定 scroll.rowHeight 属性的值 |
N |
| rowHeight | Number | - | 表格的行高,不会给<tr>元素添加样式高度,仅作为滚动时的行高参考。一般情况不需要设置该属性。如果设置,可尽量将该属性设置为表格每行平均高度,从而使得表格滚动过程更加平滑 |
N |
| threshold | Number | 100 | 启动虚拟滚动的阈值。为保证组件收益最大化,当数据量小于阈值 scroll.threshold 时,无论虚拟滚动的配置是否存在,组件内部都不会开启虚拟滚动 |
N |
| type | String | - | 必需。表格滚动加载类型,有两种:懒加载和虚拟滚动。 值为 lazy ,表示表格滚动时会进行懒加载,非可视区域内的表格内容将不会默认渲染,直到该内容可见时,才会进行渲染,并且已渲染的内容滚动到不可见时,不会被销毁;值为 virtual时,表示表格会进行虚拟滚动,无论滚动条滚动到哪个位置,同一时刻,表格仅渲染该可视区域内的表格内容,当表格需要展示的数据量较大时,建议开启该特性。可选项:lazy/virtual |
Y |
| 名称 | 类型 | 默认值 | 说明 | 必传 |
|---|---|---|---|---|
| buttonProps | Object | - | 自定义列配置按钮,包括 Button 组件的全部属性。比如:按钮颜色和文本。TS 类型:ButtonProps,Button API Documents。详细类型定义 |
N |
| checkboxProps | Object | - | 透传复选框组件全部特性。TS 类型:CheckboxGroupProps,Checkbox API Documents。详细类型定义 |
N |
| dialogProps | Object | - | 透传弹框组件全部特性,如:防止滚动穿透。TS 类型:DialogProps,Dialog API Documents。详细类型定义 |
N |
| displayType | String | auto-width | 指列配置弹框中,各列的字段平铺方式:fixed-width 表示固定宽度,每行固定数量,横向和纵向均对齐,auto-width 表示宽度随列标题数量自由显示,横向铺满,纵向不要求对齐。可选项:fixed-width/auto-width |
N |
| fields | Array | - | 用于设置允许用户对哪些列进行显示或隐藏的控制,默认为全部字段。TS 类型:string[] |
N |
| hideTriggerButton | Boolean | false | 是否隐藏表格组件内置的“列配置”按钮 | N |
| placement | String | top-right | 列配置按钮基于表格的放置位置:左上角、右上角、左下角、右下角等。可选项:top-left/top-right/bottom-left/bottom-right | N |
| 名称 | 类型 | 默认值 | 说明 | 必传 |
|---|---|---|---|---|
| checkStrictly | Boolean | true | 表示树形结构的行选中(多选),父子行选中是否独立 | N |
| childrenKey | String | children | 树形结构子节点字段,示例:childrenKey='list'。一般应用在数据 data 的子节点字段不是 children 的场景 |
N |
| defaultExpandAll | Boolean | false | 是否默认展开全部,仅默认情况有效。如果希望自由控制树形结构的展开或收起,可使用实例方法 expandAll 和 foldAll |
N |
| indent | Number | 24 | 树结点缩进距离,单位:px | N |
| treeNodeColumnIndex | Number | 0 | 树结点在第几列渲染,默认为第一列 | N |