You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在bs4Dash仪表盘侧边栏折叠时显示短标题?

实现bs4Dash侧边栏折叠时自动切换标题

要实现侧边栏折叠时标题从"ABC - Controll System"切换为"ABC",可以利用bs4Dash内置的input$sidebarCollapsed输入值(侧边栏折叠时为TRUE,展开时为FALSE),结合renderUI动态生成标题内容:

修改后的完整代码

library(shiny)
library(bs4Dash)

shinyApp(
  ui = dashboardPage(
    title = "Basic Dashboard",
    header = dashboardHeader(
      title = uiOutput("dynamic_brand")  # 用uiOutput承载动态标题
    ),
    sidebar = dashboardSidebar(),
    controlbar = dashboardControlbar(),
    footer = dashboardFooter(),
    body = dashboardBody()
  ),
  server = function(input, output) {
    output$dynamic_brand <- renderUI({
      if (input$sidebarCollapsed) {
        # 侧边栏折叠时显示短标题
        dashboardBrand(
          title = div(HTML("<strong>ABC</strong>"), style="text-align: center;"),
          color = "primary"
        )
      } else {
        # 侧边栏展开时显示长标题
        dashboardBrand(
          title = div(HTML("<strong>ABC</strong> - Controll System"), style="text-align: center;"),
          color = "primary"
        )
      }
    })
  }
)

关键说明

  • input$sidebarCollapsed是bs4Dash自动提供的输入变量,实时反馈侧边栏的折叠状态
  • 通过renderUI动态渲染dashboardBrand组件,根据折叠状态切换不同的标题内容
  • 保留了原代码中的样式设置(text-align: center)和标题格式(<strong>标签),确保视觉一致性

内容的提问来源于stack exchange,提问作者TobKel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 04:05:58