Skip to content

ProTable

基于 antdv-next Table 的高级表格封装,集成搜索联动、分页、列显隐控制、尺寸切换等功能。

基础示例

::: demo 通过 useTable 创建表格对象,绑定到 ProTable antdv-next-pro/components/pro-table/demos/basic :::

高级配置示例

::: demo 搜索联动、列控制、尺寸控制、自定义搜索区域容器 antdv-next-pro/components/pro-table/demos/configurable :::

API

useTable

ts
import { useTable } from '@qin-ui/antdv-next-pro';

const table = useTable<DataType>({
  columns,
  dataSource,
  pageParam,
  searchParam,
  searchFields,
});

参数

参数类型说明
columnsColumn<D>[]列配置(见下方 Column 说明)
dataSourceT[]静态数据源(不使用接口时)
pageParamPageParam分页初始参数({ current, pageSize, total }
searchParamDeepPartial<D>搜索表单初始参数
searchFieldsFields<D>搜索表单字段配置(与 ProForm Field 完全一致)

返回值

属性类型说明
columnsRef<Column<D>[]>响应式列配置
dataSourceRef<T[]>响应式数据源
searchFormForm<D>搜索表单实例(useForm 返回值)
pageParamReactive<PageParam>当前分页参数
setPageParam(param)-更新分页参数
resetQueryParams()-重置所有搜索条件和分页

ProTable Props

属性类型默认值说明
tableTable<D>-useTable 返回的实例
search() => Promise<any>-触发数据查询的回调(分页变化、搜索、重置时自动调用)
addIndexColumnbooleanfalse在首列自动插入序号列(从 1 开始)
immediateSearchbooleanfalse组件挂载后是否立即调用一次 search
controlboolean | { sizeControl?: boolean; columnControl?: boolean }true是否显示右上角工具栏(尺寸切换 / 列显隐控制)
searchFormConfigSearchFormConfig-搜索区域配置(见下方)
tableContainerComponent | false-表格区域外层包裹容器,传 false 禁用默认容器
v-model:size'large' | 'middle' | 'small'-表格尺寸双向绑定
v-model:loadingboolean-加载状态双向绑定
其余TableProps-透传至 antdv-next Table(如 borderedscrollrowSelection

SearchFormConfig

属性类型说明
layout'inline' | 'horizontal' | 'vertical'搜索表单布局
gridboolean | GridProps是否启用 Grid 布局
expandboolean是否展开全部搜索项
hiddenboolean是否完全隐藏搜索区域
containerComponent | false搜索区域外层容器,传 false 禁用

ProTable Slots

插槽名说明
search-form完全替换搜索区域
button-bar表格右上角左侧按钮区
toolbar表格右上角右侧工具区(在 control 按钮左侧)
table完全替换表格区域
其余透传至 antdv-next Table 所有插槽(如 bodyCellheaderCell

Column 配置

Column 继承自 antdv-next ColumnType,并扩展了以下属性:

属性类型说明
dataIndexPath<D>支持 'a.b.c' 嵌套路径,IDE 有类型提示
keyPath<D>列唯一标识
hiddenboolean是否在列控制面板中隐藏该列(不渲染)
其余ColumnType同 antdv-next Table Column 所有属性