Skip to content

useFormDialog 表单对话框

useDialog 之上注入 ElFormBuilder:内容区默认渲染构建器,底部「提交」先执行 el-form validate(),再可选 submitHandler,最后 resolve 并携带当前 model 的 JSON 快照;「取消」触发 cancelHandler 后以 cancel 原因 reject

useDialog 相同,须在应用根布局挂载 portal-vue 目标(文档站已在布局中放置 <portal-target name="ell-dialog" multiple />)。

基础用法

参数

useFormDialog(options, keepInstance?, targetName?)

参数说明默认
optionsUseFormDialogOptions
keepInstance是否保留 ElDialog 实例(同 useDialogfalse
targetNameportal 目标名'ell-dialog'

返回值

useDialogdialogUid、各 *PortalNameopenDialog 等基础上扩展:

属性说明
formUid内部为 ElFormBuilder 生成的 uid
open / openFormDialog打开表单弹窗,入参 EllFormDialogOpenArgs?
close手动 resolve;不传参时 data.model 为当前快照
dismissreject({ reason: 'cancel' })

类型说明

主包导出:

ts
import type {
  EllFormDialogFormConfig,
  EllFormDialogOpenArgs,
  EllFormDialogPayload,
  UseFormDialogOptions,
} from 'element-plus-lab'
  • EllFormDialogPayloadmodel(响应式)、formRefel-form 实例,打开初期可能为 undefined)。
  • UseFormDialogOptions:除 formConfig 外,可选 title / width / dialogConfig / submitText / cancelText / actions,以及 renderHeader / render / renderFooter / beforeClose(语义同 useDialog)。

详见 packages/components/form-dialog/src/types.ts

贡献者

页面历史

Released under the Apache License 2.0.