useFormDrawer 表单抽屉
与 useFormDialog 对称:在 useDrawer 之上注入 ElFormBuilder,提交流程(validate → submitHandler → resolve)与 cancel / reject 语义一致。
须在应用根布局挂载 <portal-target name="ell-drawer" multiple />(文档站已在 site-layout 中放置)。
基础用法
参数
useFormDrawer(options, keepInstance?, targetName?)
| 参数 | 说明 | 默认 |
|---|---|---|
options | 见 UseFormDrawerOptions | — |
keepInstance | 是否保留 ElDrawer 实例(同 useDrawer) | false |
targetName | portal 目标名 | 'ell-drawer' |
返回值
在 useDrawer 的 drawerUid、各 *PortalName、openDrawer 等基础上扩展:
| 属性 | 说明 |
|---|---|
formUid | 内部为 ElFormBuilder 生成的 uid |
open / openFormDrawer | 打开表单抽屉,入参 EllFormDrawerOpenArgs? |
close | 手动 resolve;不传参时 data.model 为当前快照 |
dismiss | reject({ reason: 'cancel' }) |
类型说明
主包导出:
ts
import type {
EllFormDrawerFormConfig,
EllFormDrawerOpenArgs,
EllFormDrawerPayload,
UseFormDrawerOptions,
} from 'element-plus-lab'EllFormDrawerPayload:与表单对话框相同,为model、formRef。UseFormDrawerOptions:在formConfig之外,常用title/size/variant/headerConfig/drawerConfig/actionConfig(不含okHandler/cancelHandler,由钩子注入)、submitText/cancelText/actions、renderHeader/render/renderFooter/beforeClose(语义同useDrawer)。
详见 packages/components/form-drawer/src/types.ts。

jenemy