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>无否