Skip to content
反馈与浮层有已知边界

NnDrawer 抽屉

支持四个方向的浮层面板。

示例

API

Props

名称类型默认值说明
openbooleanfalse受控可见状态;配合 v-model:open
titlestring | number | object | unknown[] | (() => unknown)''标题内容,可传 Vue 可渲染对象、数组或无参渲染函数。
widthstring | number378左右抽屉宽度。数字或纯数字字符串按 px,其他字符串直接作为 CSS 值。
heightstring | number378上下抽屉高度,换算规则同 width
placementstring'right'leftrighttopbottom;其他值回退 right
footerstring | number | boolean | object | unknown[] | (() => unknown)自定义页脚。undefinednull 且没有 footer 插槽时不创建页脚。
bodyStyleobject | unknown[] | string{}正文区域样式。
footerStyleobject | unknown[] | string{}页脚区域样式。
zIndexnumber | string1000浮层层级;不能转为有限数字时回退 1000。
maskClosablebooleanfalse点击遮罩是否请求关闭。
keyboardbooleantrue是否允许顶部浮层通过 Escape 请求关闭。
closablebooleantrue是否显示关闭按钮。

Events

事件参数说明
update:open(false)点击关闭按钮、允许的遮罩或 Escape 时触发。组件本身不直接改变 open
close(event: MouseEvent | KeyboardEvent)与关闭请求同时触发。

Slots

名称作用域参数说明
title替换标题。
default抽屉正文。
footer自定义页脚,优先于 footer Prop。

当前限制

  • Drawer 没有默认页脚按钮;关闭状态必须由父组件响应 update:open 更新。
  • 组件会 Teleport 到 body,锁定页面滚动、限制焦点并在关闭后恢复焦点;与 Modal 共用浮层栈,只有最上层响应 Escape。

Released under the MIT License.