表单 Form

表单包含输入框、单选框、下拉选择、多选框等用户输入的组件。 使用表单,您可以收集、验证和提交数据。

演示

基础用法

行内表单

当垂直方向空间受限且表单较简单时,可以在一行内放置表单。

通过设置 inline 属性为 true 可以让表单域变为行内的表单域。

对齐方式

表单校验

Form 组件提供了表单验证的功能,只需为 rules 属性传入约定的验证规则,并将 form-Item 的 prop 属性设置为需要验证的特殊键值即可。 更多高级用法可参考 async-validator

不同的error内容展示

Form 组件提供了不同的error内容展示方式,你可以根据使用具体场景进行选择。

单独表单项校验

可单独使用m-form-item组件进行校验

动态表单项

除了一次通过表单组件上的所有验证规则外. 您也可以动态地通过验证规则或删除单个表单字段的规则。

表单 API

Form 属性

名称类型可选值默认值说明
modelObjectany-表单数据对象
rulesArrayany-表单验证规则 async-validator
inlineBooleantrue |falsefalse行内表单模式
label-positionStringleft | right | topright表单域标签的位置, 当设置为 leftright 时,则也需要设置 label-width 属性
label-widthString--标签的长度,例如 '50px'。 作为 Form 直接子元素的 form-item 会继承该值。 可以使用 auto
scroll-to-errorBooleantrue | falsefalse当校验失败时,滚动到第一个错误表单项
require-asterisk-positionStringleft | rightright星号的位置
show-messageBooleantrue | falsetrue是否显示校验错误信息
error-use-popoverBooleantrue | falsetrue是否使用popover展示错误信息
novalidateBooleantrue | falsetrue是否禁用浏览器原生校验

Form 方法

参数类型说明
validate(callback?: (isValid: boolean, fields?: Values) => void) => Promise<void>对整个表单的内容进行验证。 接收一个回调函数,或返回 Promise
validateField(props: Arrayable<string>, callback?: (isValid: boolean, fields?: Values) => void) => Promise<void>验证具体的某个字段。
clearValidate(props?: Arrayable<string>) => void清理某个字段的表单验证信息。
scrollToField(prop: Arrayable<string>) => void滚动到指定的字段

Form 插槽

插槽名说明子标签
-自定义默认内容FormItem

表单项目 API

Form Item 属性

名称类型可选值默认值说明
propstring | strung[]any''model 的键名。 它可以是一个路径数组(例如 ['a', 'b', 0])。 在定义了 validate 的方法时,该属性是必填的
labelstringany-标签文本
label-widthString--标签的长度,例如 '50px'。 作为 Form 直接子元素的 form-item 会继承该值。 可以使用 auto
rulesArrayany-表单验证规则 async-validator
show-messageBooleantrue | falsetrue当是否显示校验错误信息
item-modelany--自定义校验的值
error-use-popoverBooleantrue | falsetrue是否使用popover展示错误信息
require-asterisk-positionStringleft | rightleft星号的位置

Form Item 插槽

插槽名说明插槽作用域
表单的内容。
label标签位置显示的内容{ label }
error验证错误信息的显示内容{ error }

Form Item 规则

名称说明类型默认值
trigger验证逻辑的触发方式blur|change

Form Item 方法

参数类型说明
validate() => Promise<void>对表单项进行验证。返回 Promise
clearValidate() => void清理表单项验证信息。

最近更新于: