Skip to content

Form 表单

继承el-form所有属性

用于数据录入、校验,支持输入框、单选框、复选框、文件上传等类型,需要与 Field 输入框 组件搭配使用。

基础用法

在表单中,每个 Field 组件 代表一个表单项,使用 Field 的 rules 属性定义校验规则。

校验规则

通过 rules 定义表单校验规则,所有可用字段见下方表格。

API

Form 属性

Rule 数据结构

使用 Field 的 rules 属性可以定义校验规则,可选属性如下:

键名说明类型
required是否为必选字段,当值为空值时(空字符串、空数组、falseundefinednull ),校验不通过Boolean
message错误提示文案,可以设置为一个函数来返回动态的文案内容`string
validator通过函数进行校验,可以返回一个 Promise 来进行异步校验`(value, rule) => boolean
trigger设置本项规则的触发时机,优先级高于 Form 组件设置的 validate-trigger 属性,可选值为 onChangeonBluronSubmit` string
pattern通过正则表达式进行校验,正则无法匹配表示校验不通过RegExp
formatter格式化函数,将表单项的值转换后进行校验(value, rule) => any
validateEmpty设置 validatorpattern 是否要对空值进行校验,默认值为 true,可以设置为 false 来禁用该行为Boolean

validate-trigger 可选值

通过 validate-trigger 属性可以自定义表单校验的触发时机。

说明
onSubmit表单提交时触发校验
onBlur输入框失去焦点时触发校验
onChange输入框值改变时触发校验

事件

事件明说明回调参数
submit表单提交时触发values: object
failed表单校验失败时触发errorInfo: { values: object, errors: object[] }

方法

通过 ref 可以获取到 Form 实例并调用实例方法,详见组件实例方法。

方法名说明参数返回值
submit触发表单提交--
getValues获取表单项的值-Record<string, unknown>
validate验证表单,支持传入一个或多个 name 来验证单个或部分表单项,不传入 name 时,会验证所有表单项`name?: stringstring[]`
resetValidation重置表单项的验证提示,支持传入一个或多个 name 来重置单个或部分表单项,不传入 name 时,会重置所有表单项`name?: stringstring[]`
getValidationStatus获取所有表单项的校验状态,状态包括 passed、failed、unvalidated-Record<string, FieldValidationStatus>
scrollToField滚动到对应表单项的位置,默认滚动到顶部,第二个参数传 false 可滚动至底部name: string, alignToTop: boolean-

Field 字段属性

AttributeDescriptionTypeDefault
name表单项名称String-
label表单项标签String-
placeholder表单项占位符String-
value表单项值Any-
type表单项类型,可选值为text number password url email tel textarea switch checkbox checkbox-group radio radio-group stepper rate slider uploadStringtext
required是否必填Booleanfalse
disabled是否禁用表单项Booleanfalse
readonly是否只读表单项Booleanfalse
rules表单项校验规则,具体见下方表格Object-
maxlength最大输入长度Number-
minlength最小输入长度Number-
min最小值Number-
max最大值Number-
step步长Number-
pattern正则表达式String-
validator自定义校验函数Function-
formatter自定义格式化函数Function-
clearable是否显示清除按钮Booleanfalse
size表单项尺寸,可选值为large medium smallString-
label-width表单项标签宽度,默认单位为pxString-
label-align表单项标签对齐方式,可选值为left rightStringleft
show-message是否显示校验错误信息Booleantrue
validate-trigger触发表单校验的时机,可选值为onBlur onChangeStringonBlur

Field 插槽

NameDescriptionSlotProps
default表单项内容-