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
}