Skip to content

高级功能

本节介绍 SunlightForm 组件的高级使用方法,包括异步选项加载、图片上传、表单联动等高级功能。

异步选项加载

支持通过函数动态加载下拉选项和级联数据,实现异步数据获取、缓存和搜索过滤。

异步选项加载

展示简单的异步选项加载功能,包括异步下拉选择和异步级联选择。

城市选择:
请选择城市
详细地址:

配置说明

参数说明类型默认值
type表单控件类型string-
options选项列表或异步加载函数Array<any> Function[]
cache是否缓存异步选项booleantrue
load异步加载函数(级联选择)Function-
filterable是否支持搜索booleanfalse
debounce搜索防抖时间(毫秒)number300
multiple是否支持多选booleanfalse
clearable是否支持清空booleanfalse

图片上传

支持单张或多张图片上传,包括拖拽上传、预览、删除等功能,并支持自定义样式,如圆形、方形、长方形等多种样式。

用户名
邮箱
用户头像
用户照片
Banner图
个人简介
0 / 200

配置说明

参数说明类型默认值
type表单控件类型string'images'
api上传接口Function-
multiple是否支持多选booleantrue
limit最大上传数量number5
fileSize单个文件大小限制(MB)number5
fileType支持的文件类型Array<string>['image/jpeg', 'image/png', 'image/gif']
height图片高度string'150px'
width图片宽度string'150px'
borderRadius图片圆角string'8px'
drag是否支持拖拽上传booleantrue
customStyle自定义样式Record<string, any>{}

表单联动

通过监听表单数据变化,实现表单控件之间的联动效果。

国家:
请选择国家
城市:
请选择城市
省份/州:
请选择省份/州
详细地址:
0 / 150

配置说明

参数说明类型默认值
listeners事件监听器Record<string, Function>{}
watch监听配置Record<string, Function>{}

动态表单

支持动态添加和删除表单字段,实现灵活的表单配置。

1. 动态添加/删除字段

根据业务需求,动态增减表单字段,实现灵活的表单配置。

字段1:
字段2:
请选择字段2

2. 条件显示字段

根据表单数据的变化,动态显示或隐藏相关字段,实现智能表单交互。

表单类型:
姓名:
年龄:

3. 动态字段类型

根据选择的字段类型,动态切换表单控件类型,支持多种表单控件的灵活切换。

字段类型:
文本输入:

配置说明

参数说明类型默认值
columns动态列配置Ref<FormColumn[]>-
v-model表单数据Ref<Record<string, any>>{}

自定义样式

支持自定义表单控件的样式,包括容器样式、组件样式等。

姓名
邮箱
手机号
城市
请选择城市
多选城市
请选择多个城市
地区(三级联动)
出生日期
创建时间
日期范围
-
时间范围
-
性别
爱好
描述
0 / 200
头像(单个)
照片(多个)

表单数据:

{
  "name": "",
  "email": "",
  "phone": "",
  "description": "",
  "city": null,
  "multiCity": [],
  "region": null,
  "gender": null,
  "hobby": [],
  "avatar": [],
  "photos": [],
  "birthdate": null,
  "createTime": null,
  "dateRange": [],
  "datetimeRange": []
}

配置说明

参数说明类型默认值
wrapperStyle容器样式Record<string, any>{}
customStyle组件样式Record<string, any>{}
customClass自定义类名string-

表单事件与方法

表单事件

支持多种表单事件,包括表单提交、重置、数据变化等。

姓名:
邮箱:
年龄:

表单方法

支持通过 ref 调用表单方法,包括验证、重置等功能。

用户名:
密码:
确认密码:

配置说明

事件/方法说明类型返回值
@submit表单提交事件Function-
@reset表单重置事件Function-
@update:modelValue表单数据变化事件Function-
validate表单验证方法FunctionPromise<boolean>
reset重置表单方法Function-
listeners组件事件监听器Record<string, Function>{}

高级验证

支持自定义验证函数、异步验证和复杂验证规则。

高级表单验证

SunlightForm 支持多种高级表单验证方式,包括自定义验证函数、异步验证和复杂验证规则。

用户名:
邮箱:
手机号码:
身份证号码:
密码:
确认密码:
自定义字段:
异步验证字段:

配置说明

参数说明类型默认值
validator自定义验证函数Function-
asyncValidator异步验证函数Function-
trigger验证触发方式string'blur'
required是否必填booleanfalse

复杂表单布局

通过组合多种表单控件和布局配置,实现复杂的表单设计。

复杂表单布局

通过组合多种表单控件和布局配置,实现复杂的表单设计。

姓名
邮箱
手机号码
性别
年龄
省份
请选择省份
城市
请选择城市
区县
请选择区县
详细地址
0 / 150
公司名称
职位
行业
请选择行业
薪资范围
请选择薪资范围
状态
标签
请选择标签
个人描述
0 / 500

配置说明

参数说明类型默认值
columns表单列配置FormColumn[]-
span所占列数number24
offset偏移列数number0
formOptions表单配置FormOptions{}