Form
Form
是 crud 业务核心组件, 默认自动生成 placeholder
. 半自动生成 基础
表单验证, 让细节滴水不漏.
基础使用
使用 form 构建表单元素. 使用 row
进行栅栏布局 默认占 24 栏. 默认情况下会自动为其生成 placeholder
也可手动指定。通过 model
对 data
内数据进行双向绑定
data: { "label1": "", "label2": "123", "label3": "" }
组合值绑定
model
支持绑定数组形式的组合值
嵌套值绑定
model
支持值的嵌套绑定
表单禁用
disabled
控制禁用整个表单, vDisabled
权重更高
vIf
vIf
控制当前元素是否渲染、与 vue 内 v-if
指令类似
vDisabled
vDisabled
控制当前元素是否禁用
渲染自定义组件
使用 render
渲染自定义组件/元素.
组件栅格化 row
通过 row
配置内部组件栅格 row
也可配置在独立的组件下
媒体查询 - 组件栅格化
通过 wrapperCol
配置内部组件栅格 wrapperCol
也可配置在独立的组件下
渲染自定义表单组件
使用 renderFormItem
渲染自定义组件/元素 内部会生成 ElFormItem
容器来处理表单验证
表单验证
使用 createRule
构建表单验证, 可使用 required
快速构建基础必选类型(内部能自动选取合适的 trigger、错误提示语). create
支持链调用来组织表单验证. 也支持直接配置 async-validator
表单验证通过会立即回调 onSuccess
反之 onError
分组
通过设置 children
可对表单元素进行分组
动态渲染 - vFor
动态渲染表单元素, 也可使用 map
实现, vFor
内部是由 map
实现, 为了推导其类型在 map
加了一层 vFor
data: { "array": [ { "ip": "" } ] }
配置接口 - api
当配置 api
后表单在表单验证通过后直接调用接口, 此刻 onSuccess
未触发 当接口调用成功才会触发 onSuccess
. 在接口调用前可使用 requestData
重新构造提交数据
Form Option
属性 | 说明 | 类型 | 可选择 | 默认值 |
---|---|---|---|---|
form | 构建表单 | Function | array | - | - |
disabled | 禁用 | Ref<boolean> | boolean | true、false | false |
labelWidth | 表单 labelWidth | number | number | 120 |
api | 表单提交接口配置 | 指定 key | - | - |
customProps | ElForm 属性入口 | object | - | - |
loading | 表单 loading | Ref<boolean> | - | false |
requestData | 提交时 payload | requestData?: (data: RefValue<T>, api: ApiType) => any | - | - |
onChange | 表单任一元素值改变 | - | - | - |
onSuccess | 表单验证通过、提交成功 | (done: () => void, data: RefValue<T>, requestData?: any) => void | - | - |
onError | 表单验证失败、提交失败 | (done: () => void) => void | - | - |
createRule | 构建表单验证 | - | - | - |
Form.form Option
属性 | 说明 | 类型 | 可选择 | 默认值 |
---|---|---|---|---|
type | 组件类型 | - | - | - |
label | 表单 label | - | - | - |
model | 绑定值 | - | - | - |
row | 栅栏布局 | [number, number] | - | [24, 0] |
align | render 的对齐方式 | 'left' | 'center' | 'left' | - | 'left' |
vIf | - | - | - | - |
vDisabled | - | - | - | - |
render | - | - | - | - |
renderFormItem | - | - | - | - |
labelWidth | - | - | - | - |
placeholder | - | - | - | - |
className | - | - | - | - |
onChange | - | - | - | - |
dataSource | - | - | - | - |
customProps | - | - | - | - |
defaultValue | - | - | - | - |
createRule | - | - | - | - |