Skip to content

ProForm 高级表单

基于 NForm + NGrid 封装,通过 columns 驱动表单渲染,支持多种字段类型、表单验证、嵌套路径。

基础用法

基础字段

从 input、input-number、switch、checkbox-group 开始配置声明式表单。

全部字段组件

字段组件实验台

按类别展示 ProForm 支持的全部 23 种字段组件,并实时显示模型变化。

表单验证

表单验证

通过 rule 配置验证规则,支持正则、自定义校验器和下拉框 change 校验。

自定义渲染

自定义渲染

使用 render 函数完全自定义字段渲染。

嵌套路径

嵌套路径

通过 path 读写深层表单字段。

插槽覆盖

插槽覆盖

按字段 key 覆盖默认控件。

实例方法

调用 NForm 方法

通过 ProFormInst 调用 validate、restoreValidation 和 invalidateLabelWidth。

API

属性类型默认值说明
columnsProFormColumn[][]表单字段配置
valueobject{}表单数据(v-model)
itemResponsivebooleantrue响应式布局
xGapnumber12水平间距

继承 Naive UI NFormNGrid 全部 Props。

Methods

通过组件 ref 调用,完整继承 Naive UI FormInst

方法说明
validate(callback?, shouldRuleBeApplied?)校验表单
restoreValidation()恢复表单校验状态
invalidateLabelWidth()重新计算标签宽度

ProFormColumn

属性类型说明
keystring字段唯一标识
pathstring模型路径,支持嵌套
labelstring标签文本
componentProFormFieldComponent组件类型或自定义组件
componentPropsobject组件属性
ruleFormItemRule | FormItemRule[]验证规则
enabledboolean是否启用
sortnumber排序权重
spannumber栅格占位(默认24)
render(ctx) => VNodeChild自定义渲染

支持的组件类型:inputinput-numberselectdate-pickertime-pickerswitchcheckboxcheckbox-groupradioradio-buttonradio-groupcascadertree-selectuploadrateslidercolor-pickerdynamic-inputdynamic-tagsmentiontransferauto-completeinput-otp

Released under the MIT License.