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

Dropdown 下拉菜单

Rue 的 Dropdown 现在同时支持两条路径:一条是保持当前视觉风格与 daisyUI 原生结构的写法;另一条是更贴近业务组件习惯的语义 API,直接支持menu / items、trigger、placement、open、popupRender 和右键菜单。

推荐写法
用 menu / items 描述命令菜单

更适合操作菜单、用户菜单、列表行操作和上下文菜单,不必再手写浮层结构。

daisyUI 自由组合写法
自由组合写法可用

details、popover、focus、位置类和 modifier 都没有删除。

交互补充
受控、右键、可选中、自定义面板

适合业务菜单、筛选菜单、带说明区的弹层菜单,以及需要区分关闭来源的场景。

何时使用

  • 需要一个轻量命令面板,把 3 到 8 个动作收纳到按钮、头像或行内入口后面。
  • 适合使用 Rue 当前 dropdown 视觉风格,同时使用更完整的菜单 API。
  • 既要支持原生 HTML 结构,也要支持数据驱动菜单、受控状态和右键上下文菜单。

推荐语义 API

# 推荐:命令菜单

  • Workspace
    • Overview Live
    • Activity Feed
    • Save Draft
    • Send For Review
    • Publish Now
  • Archive Space

# 受控开关与来源

  • Pin to top
  • Mute notifications
  • Remove workspace
用单个触发器演示受控模式,按钮文本和状态说明都跟随open变化。
受控状态面板
当前状态closed
最近来源trigger

# 可选中筛选菜单

  • Overview
  • Mentions
  • Comments
  • Watching
  • Overview
  • Mentions
  • Comments
  • Watching
单选:overview
多选:mentions, comment

这类筛选面板通常会把 closeOnClick 设为 false,让用户连续选择。

# 自定义面板包装

Quick panel
Editor shortcuts
Publish, share and manage visibility in one place.

# 右键上下文菜单

在这个区域右键,打开上下文菜单
  • Copy link
  • Rename block
  • Delete block

支持原生结构

# Dropdown using details and summary

open or close

# Dropdown using popover API

# Dropdown menu

# Positions

# Dropdown hover and force open

Always visible

API

属性说明类型默认值
menu / items推荐的数据驱动入口。直接渲染命令菜单,支持 divider、group、submenu、selectable 等能力。DropdownMenuProps / MenuDataEntry[]-
trigger控制打开方式,支持 hover、click、contextMenu;默认使用 hover。'hover' | 'click' | 'contextMenu' | Array<...>'hover'
open / defaultOpen / onOpenChange受控与非受控显隐;回调会额外返回 source,便于区分 trigger、menu、outside、escape。boolean / boolean / (open, info) => voidfalse / false / -
placement语义化定位别名,内部映射到 Rue 当前的 align + direction 组合。'bottomLeft' | 'bottom' | 'bottomRight' | 'topLeft' | ...'bottomLeft'
overlay / content / popupRender自定义面板内容或在原面板外层追加头部、底部、快捷操作区。any / any / (originNode) => any-
arrow / overlayClassName / overlayStyle使用 Rue 当前视觉基底,同时提供箭头与面板层定制。boolean / string / style objectfalse / - / -
align / direction / hover / forceOpen / forceClose基础 daisyUI 风格能力展示,适合原生结构或静态布局演示。扩展属性-
children + Dropdown.Trigger / Dropdown.Content基础的 compound 结构继续可用;当你不想走数据驱动时,仍可手写原生内容。any-

menu 扩展

属性说明类型默认值
menu.items菜单项数组,复用 Rue Menu 的 item / divider / group / submenu 数据结构。MenuDataEntry[][]
menu.selectable / multiple / selectedKeys用于做筛选面板、视图切换、状态菜单等可选中场景。boolean / boolean / MenuKey[]false / false / -
menu.onClick / onSelect / onOpenChange菜单项点击、选中和子菜单展开都复用 Menu 的回调结构。Menu callbacks-
menu.triggerSubMenuAction增强命令菜单默认点击展开和折叠子菜单;需要悬浮展开时可显式设为 hover。'click' | 'hover''click'
closeOnClick点击菜单项后是否自动关闭;命令菜单推荐保持默认 true,筛选面板常见设为 false。booleantrue

FAQ

  • 想做业务菜单、用户菜单、右键菜单时,优先用menu或items。
  • 想保持完全原生的 HTML 结构时,可以使用Dropdown.Trigger+ Dropdown.Content,或直接写 details / summary。
  • 需要筛选面板、多选菜单时,通常把closeOnClick设为false,并配合menu.selectable。
  • 需要在面板里追加说明、底部操作区或二次确认按钮时,使用popupRender 包住基础内容。
页内导航
页内导航
文档
  • 深度指南
  • 实战例子
  • 快速上手
  • 术语表
  • 错误码参照表
关于
  • 常见问题
  • 团队
  • 版本发布
  • 社区指南
生态
  • 插件
  • 组件库
  • 路由指南
  • Text.js
© 2024-2026 Xiangmin Liu
Rue.JS