Skip to content

FtAntdTable 表格组件

FtAntdTable 是 @ftjs/antd 提供的基础表格组件,基于 Ant Design Vue 的 Table 组件实现,提供了声明式的表格定义、数据处理和行内编辑能力。

基本用法

FtAntdTable 组件通过 columns 属性定义表格列,通过 v-model:tableData 绑定表格数据。

请选择状态
姓名年龄地址邮箱状态操作
用户120北京市朝阳区第1街道user1@example.com0
用户221北京市朝阳区第2街道user2@example.com1
用户322北京市朝阳区第3街道user3@example.com1
用户423北京市朝阳区第4街道user4@example.com0
用户524北京市朝阳区第5街道user5@example.com1
用户625北京市朝阳区第6街道user6@example.com1
用户726北京市朝阳区第7街道user7@example.com0
用户827北京市朝阳区第8街道user8@example.com1
用户928北京市朝阳区第9街道user9@example.com1
用户1029北京市朝阳区第10街道user10@example.com0

组件属性

FtAntdTable 组件继承了 @ftjs/core 的表格属性,并扩展了 Ant Design Vue 特有的属性:

属性名说明类型默认值
tableData表格数据(v-model:tableData)TableData[]-
columns表格列定义FtAntdTableColumn<T>[]-
searchColumns附加搜索条件FtAntdFormColumn<S>[]-
cache表格配置缓存标识string-
total表格数据总数number-
defaultPageSize默认每页条数number20
loading是否显示加载状态booleanfalse
keyField表格行唯一标识字段string"id"
internalTablePropsAnt Design Vue Table 组件的原生属性(部分属性被移除)TableProps-
internalFormPropsFtAntdFormSearch 组件的属性FtFormSearchProps-
initSearch是否初始化搜索booleantrue
autoHeight是否自适应高度booleantrue
minHeight自适应高度时的最小高度number210
hidePagination是否隐藏分页booleanfalse

表格列配置

表格列配置 FtAntdTableColumn 继承自 FtTableColumn,同时扩展了 Ant Design Vue 的 Column 属性:

属性名说明类型默认值
field列数据字段名string-
title列标题string-
search列搜索配置FtAntdFormColumn<S> | type-string-
edit列行内编辑配置,有 customRender 时不生效keyof EditMap<T> | ValueOf<EditMap<T>>-

行内编辑配置

表格支持行内编辑功能,可以通过 edit 属性配置编辑组件类型:

编辑类型说明对应组件
input输入框Input
select下拉选择框Select
switch开关Switch

事件

事件名说明回调参数
search搜索事件(searchData: S, info: OnSearchInfo) => void
update:tableData表格数据更新事件(tableData: T[]) => void
change表格变化事件详见 Ant Design Vue Table 的 onChange 事件
expand表格展开行事件详见 Ant Design Vue Table 的 onExpand 事件
expandedRowsChange展开行变化事件详见 Ant Design Vue Table 的 onExpandedRowsChange 事件
resizeColumn列宽调整事件详见 Ant Design Vue Table 的 onResizeColumn 事件

实例方法和属性

方法名说明参数返回值
refresh刷新表格-void
formRef表单实例-FormSearchInstance
setEditRow设置编辑行(row: T) => voidvoid
cancelEditRow取消编辑行(row: T) => voidvoid
saveEditRow保存编辑行(row: T) => voidvoid
scrollToRow滚动到指定行(row: T) => voidvoid
scrollToIndex滚动到指定行索引(index: number) => voidvoid

插槽

插槽名说明参数
buttons表格顶部按钮区域-
tools表格顶部工具区域-

此外,FtAntdTable 还支持 Ant Design Vue Table 的所有插槽。

Released under the MIT License.