Skip to content

ProForm —— Vue3 表单解决方案。

基本用法

ProForm 旨在简化表单的使用,内置了常见的表单组件类型,您只需要通过设置valueType属性,即可轻松使用诸多表单组件。

扩展 !== 裁剪

原则:封装的目的是扩展组件原有功能,在封装过程中切忌抹杀掉组件的本身能力。

因此,我们同样支持各个表单组件本身的属性/事件/插槽,你完全不用担心因为用了 ProForm 而丢失部分原有能力。

自定义渲染

属性

参数说明类型默认值必填
options传递一些附带配置,可以持续扩展ProFormOptions
writeBackForm用来回写表单的数据对象PlainObject
formItems由N个表单项配置组成的数组Array<ProFormItem>
labelWidth提供统一的 label 宽度,视觉效果更统一string
useButtons是否使用底部表单按钮,如果不使用,您也可以选择自行渲染booleantrue
onSubmit表单提交时触发的函数,需要返回 Promise,或者用 async 函数GeneralFunction<unknown>
cancelText取消按钮文案string'取消'
hideCancel是否隐藏取消按钮booleanfalse
submitText提交按钮文案string'保存'
useGrid是否采用栅格布局,仅在 layout=inline 时有效booleantrue
fixedCol固定栅格,会让 isResponsive 失效string | number | falsefalse
isResponsive是否响应式计算栅格,前提是 useGridbooleantrue
rowProps配置栅格布局对应的Row组件的propsPlainObject
disabled表单整体禁用的控制属性booleanfalse
sorted是否已经排过序,避免重复排序booleanfalse
antFormRef支持指定 ant-form ref,方便操作 a-form,但是不要滥用,否则可能与 ProForm 本身预设的行为不一致Ref<any>
autoFill表单项内容是否自动填充剩余区域booleantrue
enablePatch如果启用,还可以配合隐藏域传其他字段,TODO: 还需要重新考虑一下设计booleanfalse
hiddenFields隐藏域字段列表Array<string>