在 shinydashboard 中默认隐藏侧边栏

Hide sidebar in default in shinydashboard

我使用 shinydashboard 创建了我的应用程序。我想在桌面环境中默认隐藏 sidedar(例如 windows),但不想禁用它。在移动设备上,侧边栏默认是隐藏的。我想我需要更改 css class,但不知道该怎么做。

感谢您的任何建议。

这是我的播放代码:

library(shiny)

library(shinydashboard)
ui <- shinyUI(dashboardPage(
    dashboardHeader(),
    dashboardSidebar(),
    dashboardBody()
))

server <- shinyServer(function(input, output, session) {
})

shinyApp(ui = ui, server = server)

这与我在另一个 SO 线程中的回答非常相似:

下面的代码可以通过在应用程序启动时隐藏侧边栏来执行您想要的操作(使用包 shinyjs)

library(shiny)
library(shinydashboard)
library(shinyjs)

ui <- shinyUI(dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody(
    useShinyjs()
  )
))

server <- shinyServer(function(input, output, session) {
  addClass(selector = "body", class = "sidebar-collapse")
})

shinyApp(ui = ui, server = server)

如果你做 ?dashboardSidebar 你可能会看到这样的用法

dashboardSidebar(..., disable = FALSE, width = NULL, collapsed = FALSE)

所以这应该有效

sidebar <- dashboardSidebar(
  collapsed = TRUE,
  sidebarMenu()
)

我不确定这是否取决于您的 shinydashboard 版本,但您也可以 check/change。

或者干脆

ui <- shinyUI(dashboardPage(
  dashboardHeader(),
  dashboardSidebar(collapsed = TRUE),
  dashboardBody()
))

添加

dashboardSidebar(折叠 = 真)

而不是

dashboardSidebar()

在 UI 页中。