Skip to content

Drawer 抽屉

从屏幕边缘滑出的面板,用于承载表单或辅助信息。支持标题、自定义底部、异步确认、遮罩行为、内容销毁策略、位置与尺寸等能力。

基础用法

使用 v-model 控制显示与隐藏,点击确定后手动关闭。

自定义页脚

通过 footer 插槽完全自定义底部按钮与交互。

异步确认

传入 beforeChange 返回 Promise,可在处理中显示加载,成功后触发 ok 事件。

遮罩行为

透传 maskmaskClose 到遮罩。默认点击遮罩会关闭;设置 :maskClose="true" 将禁止点击遮罩关闭。

位置

通过 placement 设置抽屉出现位置。

宽度

通过 width 控制左右抽屉宽度(可传数字或带单位的字符串)。

事件

监听打开/关闭的生命周期事件,以及确定、取消事件。

关闭时是否销毁

unmountOnClosefalse 时,不销毁内部内容;再次打开会保留之前的输入/状态。

属性

属性名类型默认值说明
v-modelbooleanfalse控制抽屉的显示与隐藏
titlestring''标题文本
footerbooleantrue是否显示底部区域。为 false 时不展示默认底部与自定义插槽
cancelButtonTextstring取消取消按钮文本
cancelButtonShowbooleantrue是否显示取消按钮
confirmButtonTextstring确定确认按钮文本
confirmButtonShowbooleantrue是否显示确认按钮
confirmLoadingbooleanfalse外部受控的确认按钮加载态(与内置加载合并显示)
beforeChange() => Promise-点击确认时触发;返回 Promise,resolve 后触发 ok 事件
unmountOnClosebooleantrue关闭时是否卸载内容(销毁内部状态)
widthstring''抽屉宽度(可传数字/数字字符串,默认单位 px,也支持 %/rem 等)
fixedScreenbooleantrue是否占满可视高度并让内容区内部滚动(侧边抽屉默认即为该效果)
placementstringright出现位置:right/left/top/bottom

事件

事件名回调参数触发时机
cancel()点击取消按钮后(并自动关闭)
ok()点击确认按钮;若提供 beforeChange,resolve 后触发(不会自动关闭,请在回调中自行收起)
open()进入动画开始时
opened()进入动画结束后
close()离开动画开始前(如点击遮罩/关闭按钮/取消按钮等导致关闭)
closed()离开动画结束后

插槽

插槽名说明
default抽屉主体内容
footer自定义底部内容;设置后替换默认的“取消/确定”按钮