React Bootstrap logoReact Bootstrap

Sidebar

基础导航

基于 Bootstrap 5 的侧边栏组件,用于构建应用侧边导航:通过 SidebarHeader/SidebarBody/SidebarFooter 组织区域,SidebarGroup 分组导航项,导航项支持图标、徽标、激活与禁用状态;支持收起为图标模式、视口低于断点时自动切换为带遮罩的响应式抽屉(点击遮罩或 Esc 关闭)、明暗主题与左右停靠,并可通过 SidebarProvider/useSidebar 将状态提升实现受控组合

基础示例

Sidebar 组合 Header/Body/Footer 三个区域,导航内容通过 SidebarGroup 分组,链接与按钮导航项支持 `icon`、`badge` 与 `active` 状态

无图标导航项

`icon` 为可选属性:未传图标的导航项不预留图标位、文字紧贴左侧;示例第一组为纯文字导航, 第二组为带图标导航

无图标收起展开

未传入 `icon` 时,收起为图标模式后自动以内容首字作为图标(如「仪」「订」「消」), 展开时首字淡出、完整文字淡入;点击触发器可观察收起与展开的过渡

收起为图标模式

点击 SidebarTrigger 在展开与图标模式之间切换,收起后仅保留图标,分组标题与文字标签自动隐藏

深色主题与右侧停靠

`variant="dark"` 在根元素上设置 `data-bs-theme="dark"`,所有 Bootstrap 变量自动适配; `placement="end"` 将侧边栏停靠到右侧

响应式抽屉

视口宽度低于 `breakpoint` 时切换为固定定位抽屉:带遮罩与滑动动画,支持点击遮罩、Esc 键关闭;将浏览器窗口缩窄到 992px 以下即可观察抽屉效果

Provider 与受控模式

SidebarProvider 将状态提升到侧边栏之外,SidebarTrigger 可以放在任意位置控制侧边栏;通过 `collapsed`/`onCollapsedChange` 实现受控收起,移动端抽屉对应 `open`/`onOpenChange`

交互与状态

`active` 切换高亮导航项,`badge` 展示未读数量,`disabled` 禁用不可用的导航项

自定义插槽

Header/Body/Footer 插槽接受任意内容,可自由组合搜索框、进度条、版本信息等