Skip to content

useForm

useFormElForm 提供了声明式配置能力。通过 items 数组即可描述表单结构,并配合控制器完成模型更新与实例访问,显著减少模板层重复代码。

在保留原始表单能力(校验、重置、清空校验等)的同时,useForm 更适合在中后台页面中快速构建可维护的表单模块。

典型表单

Activity name
Activity zone
please select your zone
Activity time
-
Instant delivery
Activity type
Resources
Activity form

行内表单

Approved by
Activity zone
Activity zone
Activity time

对齐方式

Form Align
Form Item Align
Name
Activity zone
Activity form

表单校验

Activity name
Activity zone
Activity zone
Activity count
Activity count
Activity time
-
Instant delivery
Activity location
Activity type
Resources
Activity form

自定义校验规则

添加/删除表单项

Email
Domain0

数字类型验证

age

尺寸控制


Activity name
Activity zone
please select your zone
Activity time
-
Activity type
Resources

无障碍

Full Name
Your Information

API

Options

useForm 的配置项继承自 Element Plus ElForm 的 Props,并额外支持以下字段:

  • items: FormItem[] —— 核心配置,用于声明表单项。
  • model: Recordable —— 表单数据模型(使用 setModel 更新)。

FormItem

字段说明类型
slot默认插槽名(slots.default 的简写)string
slots精细化插槽配置Record<string, string>
render渲染组件配置{ component: Component, props?: Recordable }

NOTE

slotslots.default 的简写形式。当同一个表单项同时定义了 slotrender 时,插槽优先。

Controller

方法说明参数
setState动态更新整体配置(state: Partial<FormOptions>) => void
setItems动态更新表单项(items: FormItem[]) => void
setModel动态更新模型数据(model: Recordable) => void
getModel获取当前模型快照() => Recordable
instance内部 ElForm 实例(可调用 validate 等原生方法)Ref<FormInstance>