Drawer 抽屉
从屏幕边缘滑出的浮层面板
何时使用
- 需要侧边抽屉面板承载内容时。
导入
基础用法
抽屉从父窗体边缘滑入,覆盖住部分父窗体内容。用户在抽屉内操作时不必离开当前任务,操作完成后可以平滑地回到原任务。
自定义位置
点击触发按钮抽屉从相应的位置滑出。
预设宽度
抽屉的默认宽度为 378px,另外还提供一个大号抽屉 736px,可以用 size 属性来设置。
加载中
设置抽屉加载状态,显示骨架屏。
额外操作
在抽屉右上角的操作区域,可以使用 extra 属性来实现。
遮罩
通过 mask 控制遮罩效果。
抽屉表单
在抽屉中使用表单。
关闭按钮位置
自定义抽屉的关闭按钮位置。
触发器用法
使用 DrawerTrigger 作为触发器。
API
Drawer Props
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| open (v-model) | Drawer 是否可见 | boolean | false |
| direction | 抽屉的方向 | 'top' | 'right' | 'bottom' | 'left' | 'right' |
| size | 预设抽屉宽度(或高度) | 'default' | 'large' | number | string | 'default' |
| mask | 是否显示遮罩 | boolean | true |
| closeOnOverlayClick | 点击遮罩是否关闭 | boolean | true |
| closable | 是否显示关闭按钮 | boolean | true |
| closablePlacement | 关闭按钮位置 | 'start' | 'end' | 'start' |
| loading | 显示骨架屏 | boolean | false |
| title | 标题 | string | - |
| extra | 右上角额外操作区域 | string | - |
| footer | 页脚 | string | - |
| zIndex | 设置 Drawer 的 z-index | number | 1000 |
| width | 自定义宽度 | string | number | - |
| height | 自定义高度 | string | number | - |
| destroyOnHidden | 关闭时销毁子元素 | boolean | false |
Drawer Events
| 事件名 | 说明 | 参数 |
|---|---|---|
| update:open | 打开状态变化 | (open: boolean) |
| afterOpenChange | 动画结束后回调 | (open: boolean) |
DrawerContent Props
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| class | 自定义内容区域 class | string | - |
| overlayClass | 自定义遮罩层 class | string | - |
子组件
| 组件 | 说明 |
|---|---|
| DrawerContent | 抽屉内容面板,包含遮罩、动画、关闭按钮、骨架屏 |
| DrawerHeader | 头部区域 |
| DrawerTitle | 标题,基于 reka-ui DialogTitle |
| DrawerDescription | 描述文字,基于 reka-ui DialogDescription |
| DrawerFooter | 底部页脚区域 |
| DrawerClose | 关闭按钮,基于 reka-ui DialogClose |
| DrawerTrigger | 触发器,基于 reka-ui DialogTrigger |
预设尺寸
| size | 宽度/高度 |
|---|---|
default | 378px |
large | 736px |
| 数值 | 如 500 -> 500px |
| 字符串 | 如 '50%' |
