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

如何在Shiny dashboardHeader上方添加带Logo与功能按钮的顶部栏?

实现Shiny仪表盘顶部自定义导航栏

要在dashboardHeader上方添加自定义顶部导航栏,你可以直接构建HTML导航结构,并与原有的dashboardPage组合,以下是完整实现代码:

library(shiny)
library(shinydashboard)

ui <- tagList(
  # 自定义顶部导航栏
  tags$nav(class = "navbar navbar-expand-lg navbar-dark bg-primary",
           tags$div(class = "container-fluid",
                    # 左侧Logo+学习组名称
                    tags$a(class = "navbar-brand", href = "#",
                           tags$img(src = "your-logo-url.png", width = "40", height = "40", class = "d-inline-block align-top"),
                           " 你的学习组名称"
                    ),
                    # 右侧Stop App按钮
                    tags$div(class = "navbar-nav ml-auto",
                             actionButton(inputId = "stopBtn", label = "Stop App", class = "btn btn-danger")
                    )
           )
  ),
  # 原有的dashboard结构
  dashboardPage(
    dashboardHeader(title = "My first app"),
    dashboardSidebar(),
    dashboardBody()
  )
)

server <- function(input, output, session) {
  # 处理Stop App按钮点击事件
  observeEvent(input$stopBtn, {
    stopApp()
  })
}

shinyApp(ui = ui, server = server)

关键说明:

  • 用tags$nav构建符合Bootstrap样式的导航栏,bg-primary可根据需求调整背景色,保证和Shiny Dashboard风格匹配
  • 替换your-logo-url.png为实际Logo路径(本地文件需放在项目的www文件夹下)
  • navbar-nav ml-auto属性确保按钮靠右对齐
  • 通过actionButton搭配observeEvent实现点击停止应用的功能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 08:33:19