R后悔药 Rue.js
  • 首页
    • 深度指南
    • 实战例子
    • 快速上手
    • 路由指南
    • 术语表
    • 错误代码参考
  • API
    • 合作伙伴
    • 插件
    • 组件库
    • 工具链
    • Text.js
    • 新闻简报
    • 常见问题
    • 团队
    • 版本发布
    • 社区指南
    • 行为规范
    • 隐私政策
  • 赞助
  • 合作伙伴
设置
目录统计
总条目
  • 按钮 Button
  • 排版 Typography
  • 时间选择器 TimePicker
  • 下拉菜单 Dropdown
  • 悬浮操作按钮 FAB
  • 模态框 Modal
  • 切换 Swap
  • 主题控制器 Theme Controller
  • 手风琴 Accordion
  • 头像 Avatar
  • 徽标 Badge
  • 卡片 Card
  • 轮播 Carousel
  • 聊天气泡 Chat
  • 折叠面板 Collapse
  • 倒计时 Countdown
  • 描述列表 Descriptions
  • 对比 Diff
  • 二维码 QRCode
  • 悬浮 3D 卡片 Hover 3D
  • 悬浮画廊 Hover Gallery
  • 键盘提示 Kbd
  • 列表 List
  • 统计 Stat
  • 状态 Status
  • 表格 Table
  • 文本轮播 Text Rotate
  • 时间线 Timeline
  • 锚点 Anchor
  • 固钉 Affix
  • 面包屑 Breadcrumbs
  • 底部导航 Dock
  • 链接 Link
  • 菜单 Menu
  • 导航栏 Navbar
  • 分页 Pagination
  • 步骤 Steps
  • 选项卡 Tabs
  • 提示 Alert
  • 结果页 Result
  • 空状态 Empty
  • 加载 Loading
  • 全局提示 Message
  • 进度条 Progress
  • 环形进度 Radial Progress
  • 骨架屏 Skeleton
  • 通知提醒框 Notification
  • 轻提示 Toast
  • 气泡确认框 Popconfirm
  • 气泡卡片 Popover
  • 工具提示 Tooltip
  • 日历 Calendar
  • 颜色选择器 ColorPicker
  • 复选框 Checkbox
  • 字段集 Fieldset
  • 表单 Form
  • 文件输入 File Input
  • 筛选器 Filter
  • 标签 Label
  • 单选框 Radio
  • 范围选择 Range
  • 评分 Rating
  • 分段选择 Segmented
  • 自动完成 AutoComplete
  • 选择器 Select
  • 树选择 TreeSelect
  • 树控件 Tree
  • 提及输入 Mentions
  • 穿梭框 Transfer
  • 漫游引导 Tour
  • 输入框 Input
  • 数字输入 InputNumber
  • 文本域 Textarea
  • 开关 Toggle
  • 校验器 Validator
  • 分隔线 Divider
  • 弹性布局 Flex
  • 分割面板 Splitter
  • 抽屉侧边栏 Drawer
  • 页脚 Footer
  • 栅格 Grid
  • 瀑布流 Masonry
  • 布局 Layout
  • 主视觉区 Hero
  • 指示器 Indicator
  • 组合项 Join
  • 蒙版 Mask
  • 水印 Watermark
  • 间距 Space
  • 堆叠 Stack
  • 浏览器样机 Mockup Browser
  • 代码样机 Mockup Code
  • 手机样机 Mockup Phone
  • 窗口样机 Mockup Window
目录统计
总条目
  • 按钮 Button
  • 排版 Typography
  • 时间选择器 TimePicker
  • 下拉菜单 Dropdown
  • 悬浮操作按钮 FAB
  • 模态框 Modal
  • 切换 Swap
  • 主题控制器 Theme Controller
  • 手风琴 Accordion
  • 头像 Avatar
  • 徽标 Badge
  • 卡片 Card
  • 轮播 Carousel
  • 聊天气泡 Chat
  • 折叠面板 Collapse
  • 倒计时 Countdown
  • 描述列表 Descriptions
  • 对比 Diff
  • 二维码 QRCode
  • 悬浮 3D 卡片 Hover 3D
  • 悬浮画廊 Hover Gallery
  • 键盘提示 Kbd
  • 列表 List
  • 统计 Stat
  • 状态 Status
  • 表格 Table
  • 文本轮播 Text Rotate
  • 时间线 Timeline
  • 锚点 Anchor
  • 固钉 Affix
  • 面包屑 Breadcrumbs
  • 底部导航 Dock
  • 链接 Link
  • 菜单 Menu
  • 导航栏 Navbar
  • 分页 Pagination
  • 步骤 Steps
  • 选项卡 Tabs
  • 提示 Alert
  • 结果页 Result
  • 空状态 Empty
  • 加载 Loading
  • 全局提示 Message
  • 进度条 Progress
  • 环形进度 Radial Progress
  • 骨架屏 Skeleton
  • 通知提醒框 Notification
  • 轻提示 Toast
  • 气泡确认框 Popconfirm
  • 气泡卡片 Popover
  • 工具提示 Tooltip
  • 日历 Calendar
  • 颜色选择器 ColorPicker
  • 复选框 Checkbox
  • 字段集 Fieldset
  • 表单 Form
  • 文件输入 File Input
  • 筛选器 Filter
  • 标签 Label
  • 单选框 Radio
  • 范围选择 Range
  • 评分 Rating
  • 分段选择 Segmented
  • 自动完成 AutoComplete
  • 选择器 Select
  • 树选择 TreeSelect
  • 树控件 Tree
  • 提及输入 Mentions
  • 穿梭框 Transfer
  • 漫游引导 Tour
  • 输入框 Input
  • 数字输入 InputNumber
  • 文本域 Textarea
  • 开关 Toggle
  • 校验器 Validator
  • 分隔线 Divider
  • 弹性布局 Flex
  • 分割面板 Splitter
  • 抽屉侧边栏 Drawer
  • 页脚 Footer
  • 栅格 Grid
  • 瀑布流 Masonry
  • 布局 Layout
  • 主视觉区 Hero
  • 指示器 Indicator
  • 组合项 Join
  • 蒙版 Mask
  • 水印 Watermark
  • 间距 Space
  • 堆叠 Stack
  • 浏览器样机 Mockup Browser
  • 代码样机 Mockup Code
  • 手机样机 Mockup Phone
  • 窗口样机 Mockup Window

Drawer 抽屉侧栏

DrawerSidebar 现在保持了 Rue 基础的 daisyUI compound 结构,同时补上更贴近成熟业务抽屉组件的 受控能力:四向打开、预设尺寸、标题栏扩展、底部操作区、Skeleton loading、mask 配置与当前容器内联渲染。

两种模式继续并存:compound 模式适合基础 daisyUI drawer 结构;语义模式适合详情、表单、预览和二级任务面板。

何时使用

  • 需要在当前页面上下文内完成编辑、预览、审批或补录,不想跳转路由。
  • 需要比 Popover 更重的承载能力,但又不适合用 Modal 打断整个页面流程。
  • 已经使用 compound drawer 结构,希望平滑升级而不重写项目代码。

Compound 结构支持

# Drawer sidebar

展示最基础的 daisyUI drawer 结构,适合使用 Toggle / Content / Side / Overlay。

# Navbar menu for desktop plus sidebar drawer for mobile

展示响应式导航用法,桌面端显示横向菜单,移动端切换为侧栏。

Navbar Title
Content

# Responsive sidebar always visible on large screen

大屏常驻、小屏抽屉,支持 lg:drawer-open 这类基础类名能力。

# Responsive collapsible icon only drawer sidebar

展示图标折叠侧栏的写法,适合后台信息架构导航。

Navbar Title
Page Content

# Drawer sidebar that opens from right side

基础的 end 写法继续有效,适合快速保持项目代码支持。

语义模式

# Controlled drawer with title, extra and footer

直接传 open/title/footer 进入语义模式,默认会以页面级抽屉打开,更贴近常见业务抽屉的使用方式。

这里仍然只是预览舞台。点击按钮后会按默认行为从整个页面右侧打开;如果要限制在当前容器,再额外传入 inline。

# Placement switching

同一份内容根据 placement 从四个方向打开,默认以页面级抽屉展示;顶部和底部会自动使用高度尺寸。

当前方向:右侧。点击上方按钮后,抽屉会从整个页面对应边缘打开。

# Preset and custom size

default、large 和自定义 string / number 都可以直接使用,默认会从页面边缘打开。

当前尺寸:default。点击按钮后会以全局抽屉展示,适合根据信息密度在“任务面板”和“详情抽屉”之间切换。

# Loading and close placement

语义模式内置 Skeleton loading,并支持把关闭按钮放到标题栏起始位置;默认仍会以页面级抽屉打开。

适合异步拉取详情、表单 schema 或审批记录时先占位,再以全局抽屉填充真实内容。

# No mask drawer in current container

这个示例刻意使用当前容器内联渲染;辅助信息面板可以关闭遮罩,让背景内容继续保持可见。

这里代表页面主内容。无遮罩时,抽屉更像页内侧边工作台,而不是强打断的弹层。

API

基础的Toggle、Content、Side、Overlay 子组件全部保持。下面的表格重点列出语义模式下更值得直接使用的顶层 API。

属性说明类型默认值
children抽屉主体内容;语义模式下渲染在 body 区域,compound 模式下保持原结构any-
closable是否显示关闭按钮,也可传入 placement 和 closeIcon 做细化控制boolean | { placement?: `start` | `end`; closeIcon?: any; disabled?: boolean }true
defaultOpen语义模式下的非受控初始打开状态booleanfalse
drawerRender对抽屉面板做二次包装,适合额外插入步骤条、边框或埋点容器(node) => any-
endcompound 模式的基础右侧抽屉写法,支持当前 drawer-end 习惯booleanfalse
extra标题栏右上角扩展操作区,适合放状态、按钮或次要动作any-
footer底部操作区,适合保存、取消、提交等动作any-
getContainer / inline控制渲染位置;inline 用于当前容器演示,getContainer 可挂到指定节点string | HTMLElement | (() => HTMLElement) | false | booleaninline: false
keyboard是否允许按 Esc 关闭语义模式抽屉booleantrue
loading在 body 区域显示 Skeleton,占位加载态使用骨架屏booleanfalse
mask / maskClosable遮罩与点击关闭控制;mask 也支持 blur 和 closable 的对象写法boolean | { enabled?: boolean; closable?: boolean; blur?: boolean }true
onClose / onOpenChange关闭事件和显隐变化事件;受控模式推荐只监听 onOpenChange 回写状态(event) => void / (open) => void-
open语义模式的受控显隐;compound 模式下仍支持 drawer-open 类名行为booleanfalse
placement语义模式抽屉方向,支持四个边缘打开`left` | `right` | `top` | `bottom``right`
size预设 default、large,或传入 number/string 自定义宽高`default` | `large` | number | string`default`
title语义模式标题栏标题any-
页内导航
页内导航
文档
  • 深度指南
  • 实战例子
  • 快速上手
  • 术语表
  • 错误码参照表
关于
  • 常见问题
  • 团队
  • 版本发布
  • 社区指南
生态
  • 插件
  • 组件库
  • 路由指南
  • Text.js
© 2024-2026 Xiangmin Liu
Rue.JS