Skip to content

Drawer 抽屉 ​

从视口边缘滑出的内容容器,适合设置面板、详情面板和分步编辑。

基础用法 ​

Drawer API ​

Attributes ​

属性说明类型默认值
modelValue / v-model是否显示booleanfalse
title默认标题string
direction打开方向:ltr 左侧、rtl 右侧、ttb 顶部、btt 底部stringrtl
size水平方向为宽度,垂直方向为高度;数字转换为 pxstring / numbermin(420px, calc(100vw - 16px))
fullWidth左右侧抽屉铺满可用宽度,覆盖 size 与默认侧边留白,并移除圆角;上下抽屉不受影响booleanfalse
modal是否启用透明模态交互层booleantrue
lockScroll显示期间是否锁定页面滚动booleantrue
teleported是否 Teleport 到 appendTobooleantrue
appendToTeleport 目标节点或选择器string / objectbody
viewportPadding抽屉交互层的视口内边距;支持 CSS padding 简写,数字转换为 pxstring / number0
closeOnClickModal点击模态交互层是否关闭booleantrue
closeOnPressEscape按 Escape 是否关闭booleantrue
showClose是否显示标题栏关闭按钮booleantrue
withHeader是否渲染标题栏;关闭后标题、关闭按钮和 header 插槽均不渲染booleantrue
closeLabel关闭按钮提示string关闭抽屉
destroyOnClose关闭过渡完成后是否销毁内容booleanfalse
beforeClose关闭前守卫;接收 done,也支持返回布尔值或 Promise(done) => void | boolean | Promise<boolean>—
zIndex基础层级;嵌套时实际层级至少比父浮层高 1,内部浮层自动继承number10000

Events ​

事件名说明参数
update:modelValue组件内部请求关闭时更新绑定值(visible: boolean)
open开始打开时触发—
opened打开过渡结束后触发—
close组件内部触发关闭时调用(reason: DrawerCloseReason)
closed关闭过渡结束后触发—
before-close-errorbeforeClose 抛出异常或 Promise reject(error: unknown)

Slots ​

插槽名作用域参数说明
default抽屉正文
header自定义标题栏内容
footer底部操作区;未提供时不渲染 footer

Exposes ​

属性或方法说明
close(reason?)从组件实例主动关闭;默认 reason 为 api,仍会执行 beforeClose
drawerRef抽屉内容根元素引用

Aurora Plus · Vue 3 Component Library