Skip to content

Dropdown Menu 下拉菜单

基于 BrConfigProvider 实现全局主题配置,支持多方向、嵌套子菜单、自定义触发方式的企业级下拉菜单组件。

组件特性

  • 🛠️ 多方向弹出:支持向上、下、左、右四个方向弹出,自动调整以适应屏幕边缘。
  • 📋 嵌套子菜单:支持无限级嵌套的子菜单,适用于复杂的层级结构。
  • ⌨️ 快捷键支持:可为菜单项配置快捷键显示,提升键盘操作体验。
  • 🖱️ 多触发方式:支持点击(click)、悬浮(hover)、右键(contextmenu)等多种触发方式。
  • 🎨 主题定制:基于 BrConfigProvider 支持全局主题定制,同时支持 TailwindCSS 局部样式覆盖。

基础用法

最基础的下拉菜单展示。

Example

位置

支持 alignside 属性控制弹出位置,支持 12 个不同的方向。

Example

复杂示例

结合了图标、快捷键、分割线、嵌套子菜单、禁用状态、自定义样式的复杂应用场景。

Example

嵌套子菜单与快捷键

支持多级嵌套子菜单,以及通过 shortcut 属性配置快捷键。

Example

自定义触发方式(悬浮/右键)

支持 clickhovercontextmenu 触发方式,可通过 trigger 属性配置。

Right-click in this area
Example

与表单集成

在表单操作或表格行操作中的典型应用。

Example

主题定制

结合 BrConfigProvider,可以全局覆盖组件默认样式,例如修改圆角、悬浮态颜色、菜单阴影等。同时可以通过 TailwindCSS 局部覆盖样式。

Example

API 说明

BrDropdownMenu

属性类型默认值说明
open (v-model)boolean-控制菜单是否展开
defaultOpenbooleanfalse默认展开状态
dir'ltr' | 'rtl''ltr'文本阅读方向
trigger'click' | 'hover' | 'contextmenu' | Array'click'触发方式配置
openDelaynumber200悬浮触发时的展开延迟(ms)
closeDelaynumber300悬浮触发时的收起延迟(ms)

BrDropdownMenuContent

属性类型默认值说明
classany-自定义类名
side'top' | 'right' | 'bottom' | 'left''bottom'菜单弹出的方向
sideOffsetnumber4菜单距离触发器的偏移量
align'start' | 'center' | 'end''center'菜单对齐方式
alignOffsetnumber0对齐偏移量

BrDropdownMenuItem

属性类型默认值说明
disabledbooleanfalse是否禁用
shortcutstring-快捷键文本(如 "⌘K")
insetbooleanfalse是否包含左侧缩进(用于对齐图标)

BrDropdownMenuSub

用于嵌套子菜单的根容器,无需额外配置属性。

BrDropdownMenuEmpty / BrDropdownMenuLoading

用于展示空状态或加载中状态。

属性类型默认值说明
textstring'No data' / 'Loading...'提示文本