Appearance
Form 表单
表单用于数据收集、校验和提交,由 Form 和 FormItem 组件组成。
基础用法
最简单的表单用法,包含表单数据和校验规则。
各种校验规则
支持多种校验规则:required、type、min、max、pattern 等。
自定义校验
使用 validator 函数实现自定义校验规则。
表单方法
通过 ref 获取表单实例,调用表单方法进行校验、重置等操作。
标签位置
通过 label-position 属性设置标签位置。
表单尺寸
通过 size 属性设置表单尺寸。
Form API
Form Attributes
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| model | 表单数据对象 | Record<string, any> | — |
| rules | 表单验证规则 | FormRules | — |
| label-width | 表单域标签的宽度 | string | number | — |
| label-position | 表单域标签的位置 | 'left' | 'right' | 'top' | 'right' |
| size | 表单尺寸 | 'large' | 'default' | 'small' | 'default' |
| disabled | 是否禁用表单 | boolean | false |
| show-message | 是否显示校验错误信息 | boolean | true |
| validate-on-rule-change | 是否在规则改变时立即触发一次验证 | boolean | true |
Form Methods
| 方法名 | 说明 | 参数 |
|---|---|---|
| validate | 对整个表单进行校验 | (callback?: ValidateCallback) => void |
| validateField | 对部分表单字段进行校验 | (prop: string, callback?: (error?: string) => void) => void |
| clearValidate | 清空校验结果 | (props?: string | string[]) => void |
| resetFields | 重置表单字段 | () => void |
FormItem Attributes
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| prop | 表单域 model 字段 | string | — |
| label | 标签文本 | string | — |
| label-width | 标签宽度 | string | number | — |
| required | 是否必填 | boolean | — |
| rules | 表单验证规则 | FormRule | FormRule[] | — |
| error | 表单域验证错误信息 | string | — |
| show-message | 是否显示校验错误信息 | boolean | true |
| size | 表单域尺寸 | 'large' | 'default' | 'small' | — |
FormRule
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| required | 是否必填 | boolean | — |
| message | 错误提示信息 | string | — |
| trigger | 触发校验的时机 | 'blur' | 'change' | string | string[] | — |
| min | 最小值(字符串、数字、数组长度) | number | — |
| max | 最大值(字符串、数字、数组长度) | number | — |
| pattern | 正则表达式 | RegExp | — |
| validator | 自定义校验函数 | ValidatorFunction | — |
| type | 类型校验 | 'string' | 'number' | 'boolean' | 'method' | 'regexp' | 'integer' | 'float' | 'array' | 'object' | 'enum' | 'date' | 'url' | 'hex' | 'email' | — |