Form 表单

用于收集、校验和提交数据,支持水平、垂直、行内布局,支持自定义校验、动态表单项、联动等。

综合示例
包含多种控件与校验规则的完整表单。
请选择
垂直布局
layout='vertical',标签在控件上方。
行内表单
layout='inline',适用于搜索栏。
状态
表单尺寸
size 设置整体尺寸(xs / sm / md / lg)。
size = "xs"
选择
size = "sm"
选择
size = "md"
选择
size = "lg"
选择
禁用表单
disabled 禁用整个表单。
北京
标签对齐与宽度
label-width 统一设置标签宽度,label-align 控制文本对齐。
自定义校验
validator 函数实现自定义校验逻辑。
动态增减表单项
动态管理表单项,支持增加和删除。
表单联动
根据字段值动态显示/隐藏表单项。
选择方式
校验触发时机
validate-trigger 控制全局触发时机,也可在规则中单独设置 trigger。
帮助提示与额外内容
help 和 extra 属性显示提示或说明。
4-20 个字符
需包含大小写字母和数字
隐藏校验反馈
show-feedback 隐藏校验错误信息。

Form Props

参数类型默认值说明
modelobject-表单数据对象(必填)
rulesRecord<string, FormRule | FormRule[]>{}校验规则
layout'horizontal' | 'vertical' | 'inline''horizontal'表单布局
labelPosition'left' | 'right' | 'top''right'标签位置
labelWidthstring | number-统一设置标签宽度
labelAlign'left' | 'right'-标签文本对齐方式
size'xs' | 'sm' | 'md' | 'lg''md'控件尺寸
disabledbooleanfalse是否禁用全部控件
colonbooleanfalse标签后是否显示冒号
showFeedbackbooleantrue是否显示校验反馈信息
validateTrigger'change' | 'blur''change'全局校验触发时机

FormItem Props

参数类型默认值说明
fieldstring-字段名(对应 model 属性路径),支持 a.b.c
labelstring-标签文本
labelWidthstring | number-单独设置标签宽度,优先于 Form
labelAlign'left' | 'right'-单独设置标签对齐,优先于 Form
rulesFormRule | FormRule[]-校验规则,优先于 Form 的 rules
requiredbooleanfalse是否必填(视觉标记)
disabledbooleanfalse是否禁用
helpstring-帮助提示文本
extrastring-额外内容文本
validateTrigger'change' | 'blur'-校验触发时机
validateStatus'success' | 'warning' | 'error' | 'validating'-校验状态
showFeedbackboolean-是否显示校验反馈,优先于 Form
hideLabelbooleanfalse是否隐藏标签
hideAsteriskbooleanfalse是否隐藏必填星号

FormRule 类型

属性类型说明
type'string' | 'number' | 'boolean' | 'url' | 'email' | 'array'校验类型
requiredboolean是否必填
messagestring校验失败提示信息
minnumber最小长度/最小值
maxnumber最大长度/最大值
lennumber精确长度
patternRegExp正则校验
validator(value: any, callback: (error?: string) => void) => void自定义校验函数
trigger'change' | 'blur' | ('change' | 'blur')[]校验触发时机

Form Events

事件名参数说明
submit(e: Event)表单提交
submit-success(values: object)校验成功后触发
submit-fail(errors: Record<string, string[]>)校验失败后触发
validate(field: string, value: any, errors: string[] | undefined)任意字段校验结束后触发

Form Methods

方法名参数说明
validate(callback?) => Promise<errors | undefined>校验整个表单
validateField(field: string | string[], callback?) => Promise<errors>校验指定字段
resetFields(field?: string | string[])重置字段值并清除校验
clearValidate(field?: string | string[])清除校验状态

FormItem Slots

插槽名说明
default表单控件内容
label自定义标签
error自定义错误信息,参数 { errors }
help自定义帮助提示
extra自定义额外内容