Drawer
贴着视口一条边滑出的模态面板,放详情、日志、筛选这类不必离开当前页面的内容。焦点陷阱、Esc 与点遮罩关闭、滚动锁、关闭后焦点回到打开它的按钮,都交给 Reka UI。
方向
side 取 right(缺省)、left、top、bottom。左右缺省宽 28rem(窄屏占满),用 class 改宽度;顶部与底部最高 85% 视口,内容超出时面板内滚动。
四个方向
只有底部跟手。 底部用 Reka 的 Drawer,手指或鼠标按住面板下拉就关,没拉够松手弹回,是移动端底部面板的惯例。左右与顶部用 Dialog 底座:Reka Drawer 的拖拽对鼠标同样生效并会捕获指针,桌面侧边抽屉里拖选文字就变成了拖抽屉,而侧边抽屉多放详情、日志这类要复制的内容。
标题栏操作
#actions 插槽放在关闭按钮左边,适合「复制」「刷新」这类针对整块内容的操作;底部按钮行用 #footer。没有 title 时读屏没有名字,用 aria-label 补上。
标题栏放操作、加宽
API
Props
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
side | "top" | "bottom" | "left" | "right" | undefined | "right" | 从哪条边滑出,缺省右侧。底部抽屉能下拉关闭,左右与顶部不跟手(桌面上拖拽会抢走文字选择) |
title | string | undefined | undefined | — |
description | string | undefined | undefined | 补充说明,同时作为 aria-describedby 的内容 |
hideClose | boolean | undefined | false | 关掉标题栏的关闭按钮 |
open | boolean | undefined | false | — |
Emits
| 事件 | 载荷 | 说明 |
|---|---|---|
update:open | [value: boolean] | — |
Slots
| 插槽 | 说明 |
|---|---|
actions | — |
default | — |
footer | — |