Skip to content

DialogForm

DialogForm 是 ProForm 的一个变体,本质上仍然是个表单。DialogForm 的表现与 ProForm 相同,可以从 ProForm 直接修改而来。

基础用法

API

DialogForm Attributes

参数说明类型默认值
modelValue / v-model弹窗是否可见boolean
title弹窗标题string
width弹窗宽度string | number
renderHeader自定义 header(headerProps?: { titleId?: string, titleClass?: string, close?: () => void }, form?: any) => VNode
dialogPropsel-dialog 属性DialogProps
dialogEventsel-dialog 事件Partial<DialogEmits>
formProps同 ProFormFormProps
classNameel-form 类名string
formItems同 ProFormProFormItemProps[]
submitter提交按钮配置boolean | DialogFormSubmitterPropstrue
grid栅格模式boolean
rowProps传给 el-rowRowProps{ gutter: 8 }
initialValues表单默认值Record<string, any>

DialogForm Events

ProForm Events

DialogForm Methods

ProForm Methods 基础上新增:

方法名说明类型
close关闭弹窗() => void

formItemsConfig

ProForm formItemsConfig

submitterProps

设置 submitter={false} 可隐藏默认按钮。

参数说明类型默认值
cancelText取消按钮文本string取消
confirmText确定按钮文本string确定
cancelButtonPropsel-button 的 attributes & button 的原生属性ButtonProps
confirmButtonPropsel-button 的 attributes & button 的原生属性ButtonProps
customRender自定义渲染(form: any, actions: RenderActions, doms: VNode[])

不支持通过 footer 来自定义页脚,如果要定义页脚需要使用 submitter.customRender。

customRender 的第一个参数是表单数据;第二个参数是事件对象;第三个参数是默认的 doms 数组,第一个是取消按钮,第二个是确定按钮。

ts
interface RenderActions {
  close?: () => void
  submit?: () => void
  reset?: () => void
  resetAllFields: () => void
}