Skip to content
On this page

Form

Form 是 crud 业务核心组件, 默认自动生成 placeholder . 半自动生成 基础 表单验证, 让细节滴水不漏.

基础使用

使用form构建表单元素. 使用 row 进行栅栏布局 默认占24栏. 默认情况下会自动为其生成 placeholder 也可手动指定。通过 modeldata 内数据进行双向绑定

label1:
label2:
label3:

data: { "label1": "", "label2": "123", "label3": "" }

表单禁用

disabled 控制禁用整个表单, vDisabled 权重更高

vDisabled:
受控组件:

vIf

vIf 控制当前元素是否渲染、与vue内 v-if 指令类似

vIf:
受控组件:

vDisabled

vDisabled 控制当前元素是否禁用

vDisabled:
受控组件:

渲染自定义组件

render 渲染自定义组件/元素.

渲染自定义表单组件

renderFormItem 渲染自定义组件/元素 内部会生成 ElFormItem 容器来处理表单验证

left:
center:
right:

表单验证

通过 createRule 构建表单验证, 可使用 required 快速构建基础必选类型(内部能自动选取合适的trigger、错误提示语). create 支持链调用来组织表单验证. 也支持直接配置 async-validator

表单验证通过会立即回调 onSuccess 反之 onError

姓名:
电话:

分组

通过设置 children 可对表单元素进行分组

姓名:
年龄:
性别:

动态渲染 - vFor

动态渲染表单元素, 也可使用 map 实现, vFor 内部是由 map 实现, 为了推导其类型在 map 加了一层 vFor

ip:

data: { "array": [ { "ip": "" } ] }

配置接口 - api

当配置 api 后表单在表单验证通过后直接调用接口, 此刻 onSuccess 未触发 当接口调用成功才会触发 onSuccess . 在接口调用前可使用 requestData 重新构造提交数据

姓名:

Form Option

属性说明类型可选择默认值
form构建表单Function | array--
disabled禁用Ref<boolean> | booleantrue、falsefalse
labelWidth表单labelWidthnumbernumber120
api表单提交接口配置指定key--
customPropsElForm属性入口object--
loading表单loadingRef<boolean>-false
requestData提交时payloadrequestData?: (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]
alignrender的对齐方式'left' | 'center' | 'left'-'left'
vIf----
vDisabled----
render----
renderFormItem----
labelWidth----
placeholder----
className----
onChange----
dataSource----
customProps----
defaultValue----
createRule----