Form 表单
表单包含 输入框
, 单选框
, 下拉选择
, 多选框
等用户输入的组件。 使用表单,您可以收集、验证和提交数据。
基础用法
Form 组件允许你验证用户的输入是否符合规范,来帮助你找到和纠正错误。
Form
组件提供了表单验证的功能,只需为表单或表单的 columns 配置 rules
属性传入约定的验证规则。 更多高级用法可参考 async-validator。
行内表单
当垂直方向空间受限且表单较简单时,可以在一行内放置表单。通过设置 inline
属性为 true
可以让表单域变为行内的表单域。
对齐方式
根据你们的设计情况,来选择最佳的标签对齐方式。
通过设置 label-position
属性可以改变表单域标签的位置,可选值为 top
、left
, 当设为 top
时标签会置于表单域的顶部
属性
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
- | |||
v-model | 表单数据对象 | Record<string, any> | - |
rules | 表单验证规则 | FormRules | - |
inline | 行内表单模式 | boolean | false |
label-position | 表单域标签的位置, 当设置为 left 或 right 时,则也需要设置 label-width 属性 | 'left' | 'right' | 'top' | 'right' |
label-width | 标签的长度,例如 '50px'。 作为 Form 直接子元素的 form-item 会继承该值。 可以使用 auto。 | string | number | 84 |
label-suffix | 表单域标签的后缀 | string | - |
hide-required-asterisk | 是否隐藏必填字段标签旁边的红色星号。 | boolean | false |
require-asterisk-position | 星号的位置。 | 'left' | 'right' | 'left' |
show-message | 是否显示校验错误信息 | boolean | true |
inline-message | 是否以行内形式展示校验信息 | boolean | false |
status-icon | 是否在输入框中显示校验结果反馈图标 | boolean | false |
validate-on-rule-change | 是否在 rules 属性改变后立即触发一次验证 | boolean | true |
size | 用于控制该表单内组件的尺寸 | 'large' | 'default' | 'small' | - |
disabled | 是否禁用该表单内的所有组件。 如果设置为 true, 它将覆盖内部组件的 disabled 属性 | boolean | false |
scroll-to-error | 当校验失败时,滚动到第一个错误表单项 | boolean | false |
事件
插槽名 | 说明 | slotProps |
---|---|---|
validate | 任一表单项被校验后触发 | (prop: FormItemProp, isValid: boolean, message: string) => void |
方法
方法名 | 说明 | 类型 |
---|---|---|
validate | 对整个表单的内容进行验证。 接收一个回调函数,或返回 Promise 。 | (callback?: (isValid: boolean, invalidFields?: ValidateFieldsError) => void) => Promise<void> |
validateField | 验证具体的某个字段。 | (props?: Arrayable<FormItemProp>, callback?: (isValid: boolean, invalidFields?: ValidateFieldsError) => void) => Promise<void> |
resetFields | 重置该表单项,将其值重置为初始值,并移除校验结果 | (props?: Arrayable<FormItemProp>) => void |
scrollToField | 滚动到指定的字段 | (prop: FormItemProp) => void |
clearValidate | 清理某个字段的表单验证信息。 | (props?: Arrayable<FormItemProp>) => void |