Skip to content

参数说明

提示区参数

提示区通过QuerierTableHelpText组件展示,旨在为用户提供额外的信息或警告。

  • helps: QuerierTableHelpTextProps[] - 用于展示提示信息,包括类型、标题、内容和链接等属性。

QuerierTableHelpTextProps 类型

参数名类型默认值描述
type'primary' | 'success' | 'warning' | 'info' | 'error''success'设置提示信息的类型,影响显示的颜色和图标。
titlestring-提示信息的标题,将会以特殊格式(如加粗或颜色)展示在内容之前。
contentstring-提示信息的具体内容,与标题一同构成完整的提示文本。
urlstring-当提供时,点击提示信息将打开一个新的浏览器标签页并导航到此URL。

查询区参数

  • enableSearch: boolean - 是否启用查询功能。默认启用
  • searchs: QuerierTableSearchFieldProps[] - 查询条件字段配置数组,支持多种输入类型如文本、日期选择器、下拉菜单等。
  • searchActions: ActionButtonProps[] - 查询区按钮配置。
  • searchActionsSpan: number - 查询区按钮区域宽度,默认6。
  • disableSetting: boolean - 是否禁用表格设置按钮。
  • defaultWhereParams:用于设置表格加载时的默认查询条件。支持三种形式:
    • 静态条件数组(QueryDomainWhereParams[]);
    • 返回条件数组的函数(() => QueryDomainWhereParams[]);
    • 返回 Promise 的异步函数(() => Promise<QueryDomainWhereParams[]>),适用于需动态获取默认条件的场景。
  • loadOnInit: boolean - 组件挂载时是否自动加载数据。
  • enablePagination: boolean - 是否启用分页。
  • defaultPageSize: number - 默认每页显示条数,默认为10。
  • pageParams: QueryDomainPageParams - 包含分页信息的对象,比如当前页码、每页大小等。

QuerierTableSearchFieldProps 类型

该接口用于定义查询区中单个搜索字段的配置项,适用于所有输入类型(如文本、下拉、日期、开关等)。字段行为由通用属性与可选扩展属性共同控制。

属性名类型说明
labelstring字段显示标签,例如“用户名”、“创建时间”。
helpsstring查询字段帮助文本。
propstring字段唯一标识,用于表单绑定、查询条件生成及默认值设置。必填
symbolTypestring查询操作符类型,如 'EQ''LIKE''IN''BETWEEN' 等,用于构建后端 whereParams 条件。
inputTypestring输入控件类型,决定渲染何种 Element Plus 组件。常见值包括:'input''select''tree-select' 等。
defaultValueany字段初始化时的默认值。
hiddenboolean是否默认隐藏该字段(用户可通过“展开”按钮显示)。
spannumber在栅格布局中占用的列宽(基于 24 栅格系统),默认为 6
placeholderstring输入框的占位提示文本。
remoteboolean是否启用远程数据加载(通常用于 select / tree-select)。
filterableboolean是否启用本地筛选(非远程模式下有效)。
dictTypestring字典类型编码,用于自动加载字典选项(如 'user_status')。
remoteMethod(query?: string) => Promise<any[]>远程搜索方法,用于动态获取下拉选项。
multipleboolean是否支持多选(适用于 select / tree-select)。
collapseTagsboolean多选时是否折叠已选项为 Tag。
maxCollapseTagsnumber折叠 Tag 的最大显示数量。
checkStrictlyboolean(树形选择)是否禁用父子节点关联。
accordionboolean(树形选择)是否启用手风琴模式(一次只展开一个同级节点)。
lazyboolean(树形选择)是否启用懒加载子节点。
load(node?: any, resolve?: Function, reject?: Function) => Promise<any[]>(树形选择)懒加载子节点的数据请求函数。
filterMethod(query?: string) => Promise<any[]>自定义过滤方法,用于替代内置筛选逻辑。
activeValuestring(开关类型)开启状态对应的值,默认 'true'
inactiveValuestring(开关类型)关闭状态对应的值,默认 'false'
datePickerType'year' | 'month' | 'date' | 'dates' | 'datetime' | 'week' | 'datetimerange' | 'daterange' | 'monthrange' | 'yearrange'日期选择器的具体类型。
formatstring日期在 UI 上的显示格式(如 'YYYY-MM-DD')。
valueFormatstring日期绑定值的格式(通常需与后端一致,如 'yyyy-MM-DD')。
rangeSeparatorstring日期范围选择器中间的分隔符文本(如 '至')。
startPlaceholderstring日期范围起始输入框的占位文本。
endPlaceholderstring日期范围结束输入框的占位文本。
beforeMinDaysnumber限制可选最小日期为今天减去 N 天。
afterMaxDaysnumber限制可选最大日期为今天加上 N 天。
maxDaysRangenumber限制日期范围的最大跨度(单位:天)。
disabledDate(data: Date | Date[]) => boolean自定义禁用日期的逻辑函数。
minNumbernumber数字输入的最小值限制。
maxNumbernumber数字输入的最大值限制。
precisionnumber数字输入的小数精度(保留几位小数)。

ActionButtonProps 类型

该类型用于配置一个通用操作按钮(ActionButton)的行为与外观,支持异步点击处理和动态显示控制。

属性名类型默认值说明
type来自 Element Plus'primary'按钮类型,如 'primary''success''warning''danger''info' 等。
labelstring-按钮显示的文本内容。若为空,则仅显示图标。
iconstring-按钮左侧图标名称(如 'ep:search')。若未提供,则不显示图标。
onClick(...args: any[]) => void | Promise<void>-点击按钮时触发的回调函数。支持返回 Promise,组件会自动管理加载状态(loading)。
isShow(...args: any[]) => boolean | Promise<boolean>-控制按钮是否显示的函数。可返回布尔值或 Promise<boolean>,组件会自动等待异步结果。若未提供,默认显示。
size来自 Element Plus-按钮尺寸,可选 'large''default''small'
plainboolean-是否为朴素按钮(去除背景色,仅保留边框)。
linkboolean-是否为文字链接样式按钮(无边框、无背景)。

操作区参数

  • operationActions: ActionButtonProps[] - 表格上方的操作按钮集合。

ActionButtonProps 类型

同上

表格区参数

  • loadData: (params: QueryDomainParams) => Promise<any> - 加载数据的方法,需要返回一个Promise。
  • itemProcess: (item?: any) => any | Promise<any> - 对每一行数据进行处理的函数。
  • data: any[] - 表格数据,如果不指定 loadData 参数, 则可通过该参数指定数据源。
  • columns: QuerierTableBodyColumnProps[] - 定义列的信息,包括标签、属性名、宽度等。
  • expandRowActions: boolean - 是否展开操作列按钮。
  • foldRowActions: boolean - 是否折叠操作列按钮。
  • autoFoldNum: number - 自动触发折叠的操作列按钮数量。
  • rowActions: ActionButtonProps[] - 操作列按钮的定义。
  • stripe: boolean - 是否显示斑马纹。
  • border: boolean - 是否显示边框。
  • rowKey: (row: any) => string | undefined - 获取行唯一标识的函数。
  • selectable: boolean - 表格是否支持选择,可选择的功能必须指定 rowKey。
  • selectedRows: any[] - 已选择的行。
  • minSelectCount: number - 最小选择数量限制。
  • maxSelectCount: number - 最大选择数量限制。
  • appendSelectMode: boolean - 是否以追加模式选择。
  • rowSelectable: (row: any) => boolean - 自定义判断行是否可被选择的函数。
  • itemSelectable: (item?: any) => boolean | Promise<boolean> - 判断某一行是否可被选中的函数。

ActionButtonProps 类型

同上

QuerierTableBodyColumnProps 类型

该接口用于定义表格主体中每一列的显示行为、格式化方式及交互逻辑。通过 columnType 指定列的内容类型,组件内部会根据类型自动渲染对应 UI 元素。

属性名类型说明
labelstring列标题文本(如“用户名”、“操作”)。
propstring列对应的数据字段名(用于从行数据 row 中取值)。若为 index 或自定义插槽列,可不传。
widthstring列宽(如 '120px''20%'),直接作用于 <el-table-column>width 属性。
hiddenboolean是否隐藏该列(可用于动态列显示配置)。
splitCharstring当单元格值为数组时,用于拼接显示的分隔符(如 ','' / ')。仅在默认类型下生效。
columnType'index' | 'action' | 'datetime' | 'route' | 'link' | 'html' | 'dict' | 'image' | 'amount'列内容的渲染类型,决定如何格式化和展示数据。详见下方 columnType 处理逻辑
datetimeFormatstring日期时间格式化模板(如 'YYYY-MM-DD HH:mm:ss'),仅在 columnType === 'datetime' 时生效。
dataPatternstring数据模式字符串,支持变量插值('列数据:${data},行数据:${row}')。
dictTypestring字典类型编码(如 'user_status'),用于 columnType === 'dict' 时映射字典标签。
defaultSlotComponent自定义渲染组件(Vue 组件对象),若提供则优先使用该插槽覆盖内置逻辑。
fixedboolean | 'left' | 'right'是否固定列(true 等价于 'left'),用于左右冻结列。
rowKeyboolean标记该列为行唯一标识字段,可标记多个。

columnType 处理逻辑说明

类型渲染逻辑
'default'(未指定类型时)内容由 dataPattern 生成,以 <span> 展示。
'index'渲染表格行序号(由 Element Plus 表格自动处理,通常无需额外配置)。
'action'操作列根据 rowActions 配置实现具体按钮。
'datetime'datetimeFormat 格式化时间值。
'route'渲染为 可点击的链接按钮 点击时调用 router.push() 跳转,路由由 dataPattern 生成。
'link'渲染为 普通超链接ElLink),链接由 dataPattern 生成。
'html'HTML 富文本,内容由 dataPattern 生成。
'dict'使用 <DictTag> 组件,根据 dictType 和实际值显示对应的字典标签。
'image'图片,支持预览、懒加载,默认宽度 60px,图片地址由 dataPattern 提供。
'amount'金额实现与 default 一致,但语义上表示金额/数值。

组件插槽

插槽名称作用位置说明
searchActionSlot查询区右侧操作按钮区域在搜索/重置按钮后插入自定义组件或按钮(如导出)。
operationActionSlot表格上方操作栏在操作区插入自定义组件或按钮(如批量删除、启用)。
tableHeaderSlot表格顶部在表头区插入自定义组件。
tableBodySlot表格主体区域自定义表格主体,默认使用内置 el-table;接收 dataselectedRows 作用域数据。
tableFooterSlot表格底部(分页器上方)在表尾区插入自定义组件,如统计信息或汇总行。

暴露方法

方法名参数返回值说明
getRowActionsConfig{ expandRowActions, foldRowActions, autoFoldNum, rowActions }获取行操作按钮的配置信息。
getCurrentRowany获取当前高亮选中的单行数据。
setCurrentRowval?: any设置当前高亮选中的单行数据。
toggleCurrentRowval: any切换单行选中状态:若已选中则取消,否则设为当前行。
isCurrentRowval: anyboolean判断指定行是否为当前高亮选中行。
getSelectedRowsany[]获取当前所有选中的行数据。
setSelectedRowsval?: any[]设置选中的行数据,并触发重新查询(重置到第一页)。
toggleRowsSelection见 Element Plus 表格 API切换多选状态(代理自 el-table 的 toggleRowSelection)。
isRowSelectable(row: any) => booleanboolean判断某行是否可被选中(受 selectable 配置控制)。
isRowCheckedval: anyboolean判断指定行是否已被选中。
getValidSelectedRowsPromise<any[]>获取选中行并校验数量是否在 minSelectCountmaxSelectCount 范围内,不满足则抛错。
doSearchoptions?: { pageParams?, whereParams? }Promise<void>手动触发表格重新查询(支持传入分页或筛选条件)。

组件事件

事件名参数说明
changeval: any[]表格数据发生变化时触发,loadData 函数加载时触发。