Skip to content

Form 表单

说明

基于 el-formel-form-itemel-rowel-col 封装,整合栅格布局与表单数据联动能力。

(1)y-form 整合 el-form + el-row,作为外层容器

(2)y-form-item 整合 el-form-item + el-col,内置栅格布局,详见 FormItem 表单项

(3)除扩展属性外,其余 API 与 Element Plus 官方文档保持一致,可直接透传使用

注意:

  • y-formspan 会作为所有 y-form-item 的默认栅格占位;单项可通过 :span 覆盖
  • 属性会分发给内部的 el-formel-row,无需手动嵌套

用法示例

布局用法

y-form 设置 :span="12" 时表单项默认两列;y-form-item 可通过 span 单独控制占位

姓名
年龄
备注

config 联动

config 在表单字段变化时触发,参数为 (model, context),context 包含 field、prevValue、newValue;static-fields 中的字段变化不会触发 config

采购类型
请选择采购类型
大类
请选择大类
小类
请选择小类
备注

debounce 防抖

debounce 控制 config 队列处理的防抖时间(ms),0 表示不防抖、立即处理

防抖时间
关键词
config 调用次数
0

API

Attributes

支持 el-form 的全部属性及 el-row 的布局属性,写在 y-form 上即可,内部分发给对应子组件。下表列出常用项;未列出的 el-form 属性同样支持透传。

属性名说明类型默认值
config表单数据变化时的回调,参数见FormConfigFn Propertiesfunction
static-fields静态字段,变化时不触发 configobject[]
debounceconfig 队列处理防抖时间(ms),0 表示不防抖number300
spany-form-item 默认栅格占位number24
row-class行容器 classstring''
row-style行容器 styleobject{}
model表单数据对象,同 el-formobject{}
rules表单校验规则,同 el-formobject{}
label-width标签宽度,同 el-formstring / number
label-position标签位置,同 el-formenum'right'
inline行内表单模式,同 el-formbooleanfalse
gutter栅格间隔,同 el-rownumber0
justify水平排列方式,同 el-rowenum'start'
align垂直排列方式,同 el-rowenum
tag自定义元素标签,同 el-rowstring'div'

FormConfigFn Properties

参数说明类型
model当前表单数据object
context变化上下文object
context.field变化的字段名string
context.prevValue变化前的值any
context.newValue变化后的值any

Events

事件名说明类型
validate任一表单项校验后触发function

Exposes

名称说明类型
validateSync校验整个表单,通过 resolve(model),失败 rejectfunction
validate校验整个表单,支持传入 callback 或返回 Promise,同 el-formfunction
validateField校验指定字段,同 el-formfunction
resetFields重置指定字段为初始值并移除校验结果,不传则重置全部,同 el-formfunction
clearValidate移除指定字段的校验结果,不传则移除全部,同 el-formfunction
scrollToField滚动到指定字段,同 el-formfunction
getField获取指定字段的上下文,同 el-formfunction
fields所有表单项字段的上下文,同 el-formobject
setInitialValues设置表单字段初始值,resetFields 时将重置到此值,同 el-formfunction

Slots

名称说明
default表单内容,放置 y-form-item