Skip to content

TableSearch 表格查询

说明

一般与表格组件配合使用,用于处理查询条件,支持多种搜索字段类型、动态属性、自定义组件和函数式配置。

(1)每一个表单项都使用y-border-label组件包裹,兼容现有的所有的element-plus 表单组件,同时也允许通过插槽自定义

(2)组件内部会自动根据配置项的组件类型和 label 自动生成placeholder(使用slot的自定义表单项除外)

(3)需要注意的是:配置项的 comp 属性接收一个组件,但是需要使用 markRaw() 包装

用法示例

多行模式

通常用于首行为模糊搜索,例如关键词,更多精准的搜索条件需要通过展开操作才展示。需要展示在首行的配置项设置 first:true 即可

表单数据:

{
  "keyword": "",
  "status": "",
  "date": "",
  "category": []
}

单行模式

当options配置项中没有配置项为 first:true 时,即为单行模式,所有表单项平铺展示,且没有展开/收起操作

表单数据:

{
  "status": "",
  "date": "",
  "category": []
}

动态属性和值格式化

支持根据表单状态和组件状态动态调整字段的显示、禁用等属性。同时支持值格式化,可以在值更新时对值进行处理

表单数据:

{
  "keyword": "",
  "type": "",
  "userId": "",
  "department": "",
  "startTime": "",
  "endTime": ""
}

说明:

  • 当"类型"选择"用户"时,"用户ID"字段会显示,"部门"字段会隐藏
  • 当"类型"选择"部门"时,"部门"字段会显示,"用户ID"字段会隐藏
  • 日期字段的placeholder会根据类型动态变化

API

Attributes

参数说明类型默认值
options字段配置object / Function[]
fold-text收起按钮文本string'收起'
un-fold-text展开按钮文本string'高级搜索'
default-fold默认是否折叠booleanfalse
duration折叠过渡时间number0.2
disabled-first多行模式下,展开时是否自动禁用第一行booleantrue
clear-on-fold多行模式下,展开、收起时是否自动清空数据booleantrue

TableSearchOption Attribute

参数说明类型默认值
prop字段的keystring
label字段标签string
first是否展示在第一行booleanfalse
comp字段组件类型objectElInput
value字段初始值any""
hidden是否隐藏boolean / Functionfalse
disabled是否禁用boolean / Functionfalse
valueFormat值格式化函数,在值更新时对值进行处理,可以返回单个值或对象(对象会被合并到formatForm中)object / Function
borderAttrsy-border-label支持的属性object / Function
innerAttrs给内部组件的属性object / Function
custom是否自定义组件,即使用slotbooleanfalse

DynamicPropsParams Attribute

参数说明类型
form当前表单的所有值object
isFold是否折叠状态boolean
prop当前字段名string
value当前字段的值any

Events

事件名说明类型
search点击搜索按钮时触发Function
reset点击重置按钮时触发Function
change表单值变化时触发Function
fold折叠状态变化时触发Function

Slots

名称说明参数
right右侧内容
[prop]自定义字段组件,{prop} 为字段名object

TableSearchItem Attribute

参数说明类型默认值
prop字段的keystring
label字段标签string
first是否展示在第一行booleanfalse
comp字段组件类型objectElInput
value字段初始值any""
hidden是否隐藏booleanfalse
valueFormat值格式化函数,在值更新时对值进行处理,可以返回单个值或对象(对象会被合并到formatForm中)Function / undefined
borderAttrsy-border-label支持的属性object
innerAttrs给内部组件的属性object
custom是否自定义组件,即使用slotbooleanfalse