项目正在快速迭代中,API 与视觉细节可能随版本调整,请勿用于生产环境。
双端兼容 · 桌面 + 移动

Drawer 抽屉 ​

移动端:侧滑抽屉改为 direction="btt" 底部面板,参见 移动端 · 反馈与浮层。

从屏幕边缘滑出的浮层面板,适合承载表单、详情等大块内容。支持四个方向滑入、自定义尺寸、焦点圈禁与滚动锁定,通过 v-model 绑定显隐;before-close 可统一拦截右上角按钮 / ESC / 遮罩等所有关闭途径。

基础用法 ​

默认从右侧滑入(rtl),size 控制面板宽度(默认 30%,数字按 px)。关闭按钮、遮罩、ESC 或 footer 按钮均可关闭。

四个方向 ​

direction 决定滑出方向与停靠边缘,滑入滑出动画随方向变化:

  • rtl:从右侧滑入(默认),面板停靠屏幕右缘;
  • ltr:从左侧滑入,面板停靠屏幕左缘;
  • ttb:从顶部下滑,面板停靠屏幕顶部,size 表示高度;
  • btt:从底部上滑,面板停靠屏幕底部,size 表示高度。

尺寸 ​

size 接受百分比字符串(相对视口)或数字(按 px),水平方向为宽度、垂直方向为高度。

拦截关闭(before-close) ​

before-close 接收 done 回调,不调用 done 则阻止本次关闭,可用于未保存提示或异步校验。

关闭后销毁内容 ​

destroy-on-close 关闭时卸载默认插槽内容,再次打开重新渲染(表单输入等内部状态会被重置)。

API ​

Drawer Props

参数说明类型默认值
v-model显示控制booleanfalse
title标题(header 插槽优先)string
direction滑出方向ltr | rtl | ttb | bttrtl
size尺寸,水平为宽度、垂直为高度,数字按 pxstring | number30%
with-header是否显示标题区booleantrue
show-close是否显示关闭按钮booleantrue
destroy-on-close关闭后销毁内容booleanfalse
append-to-body挂载到 bodybooleantrue
modal遮罩模式(false 时点击遮罩不关闭)booleantrue
close-on-click-modal点击遮罩关闭booleantrue
close-on-press-escapeESC 关闭booleantrue
lock-scroll打开时锁定页面滚动booleantrue
glass面板磨砂玻璃质感;缺省跟随全局(EbConfigProvider 的 glass)boolean—
blur面板磨砂模糊半径(px),仅磨砂生效时应用;缺省跟随 --eb-glass-blur 令牌(14px)number | string—
before-close关闭前拦截,调用 done() 完成关闭(done) => void—

Slots

参数说明类型默认值
default抽屉内容,destroy-on-close 时随关闭销毁——
header替换整个标题区——
footer底部操作区,未提供时不渲染——

Events

参数说明类型默认值
update:modelValue显隐受控更新(v: boolean) => void—
open打开前触发() => void—
opened打开动画结束后触发() => void—
close开始关闭时触发() => void—
closed关闭动画结束后触发() => void—

Exposes

参数说明类型默认值
visible当前显示状态boolean—
handleClose触发关闭(走 before-close 拦截流程)() => void—
ref抽屉面板根 DOM 元素(焦点圈禁容器)HTMLElement—