DialogForm 表单
DialogForm 组件是 PlusDialog和 PlusForm 组件的组合,是在 PlusForm 组件上自定义 footer
的基础上构建而来,除下文提到 PlusDialogForm 特有的属性和方法外,同时支持 PlusForm 组件的所有自定义函数和插槽。
注意
表单v-model
绑定的值尽量使用 ref 定义绑定的值,以避免 reactive 带来的响应式丢失问题。 参考 reactive 的局限性
基础用法
自定义表单项
支持 PlusForm 自定义表单项 自定义表单项 的三种(renderField
/slot
/jsx
)方式。
自定义表单 label
支持 PlusForm 自定义表单 label 自定义表单项 的三种(renderLabel
/slot
/jsx
)方式。
自定义底部
DialogForm
组件由 PlusDialog和 PlusForm 组成,它同时支持两个组件的底部插槽,DialogForm
默认使用的PlusDialog的底部按钮,所以PlusForm组件的 hasFooter
属性默认给了 false
。要定义PlusForm组件的底部,需要PlusDialog组件的 hasFooter
属性给 false
,PlusForm组件的 hasFooter
属性给true
。
DialogForm API
DialogForm Attributes
名称 | 说明 | 类型 | 默认值 | 是否必须 |
---|---|---|---|---|
model-value / v-model | 表单绑定值 (尽量使用 ref 定义绑定的值,以避免 reactive 带来的响应式丢失问题) | object FieldValues | 否 | |
visible / v-model:visible | 弹窗显示 | boolean | false | 否 |
form | PlusForm 的 props | object PlusFormProps | {hasFooter:false,footerAlign:'right'} | 否 |
dialog | PlusDialog 的 props | object PlusDialogProps | {width:"800px",top:"10vh", title:"弹窗表单"} | 否 |
hasErrorTip v0.0.10 | 是否需要校验 message 提示 | boolean | true | 否 |
DialogForm Events
名称 | 说明 | 类型 |
---|---|---|
confirm | 点击确定按钮触发的事件 | function |
change | 表单变化触发的事件 | function |
cancel | 点击取消按钮触发的事件 | function |
submitError v0.0.10 | 点击提交按钮校验不通过触发的事件 | function |
DialogForm Slots
插槽名 | 说明 | 作用域插槽参数 |
---|---|---|
dialog-header | PlusDialog 的 header slot | |
dialog-footer | PlusDialog 的 header slot | {handleConfirm,handleCancel} 弹窗表单默认的确定,取消方法 |
form-footer | PlusForm 的 footer slot, 配置属性 :form="{hasFooter:true}" 生效 | {handleSubmit,handleReset} 表单默认的提交,重置方法 |
tooltip-icon v0.0.3 | PlusForm 的 tooltip icon | |
form-group-header | PlusForm 的 group-header slot | {title,columns,icon} |
plus-field-* | PlusForm 的自定义表单项,组件会自动根据配置项的 prop 生成对应的插槽 | {prop,label,fieldProps,valueType,column} |
plus-label-* | PlusForm 的自定义表单项 label,组件会自动根据配置项的 prop 生成对应的插槽 | {prop,label,fieldProps,valueType,column} |
plus-extra-* | PlusForm的自定义渲染 el-form-item 下一行额外的内容,组件会自动根据配置项的 prop 生成对应的插槽 | {column} |
Exposes
名称 | 说明 | 类型 |
---|---|---|
formInstance | el-form 实例 | object |