如何在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
相关产品推荐
相关产品推荐

