在shinydashboard中默认隐藏侧边栏

问题描述 投票:8回答:2

我使用shinydashboard来创建我的应用程序。我想在桌面环境(例如Windows)上默认隐藏sidear,但不禁用它。在移动设备上,边栏默认为隐藏。我想我需要改变css类,但不知道该怎么做。

谢谢你的任何建议。

这是我的游戏代码:

library(shiny)

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

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

shinyApp(ui = ui, server = server)
r shiny shinydashboard
2个回答
14
投票

这与我在另一个SO主题中的答案非常相似:"disabling/enabling sidebar from server side"

这个代码可以通过在应用程序启动时隐藏侧边栏来执行您想要的操作(使用包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)

16
投票

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

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

所以这应该工作

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

我不确定这是否取决于您的shinydashboard版本,但您也可以检查/更改它。

© www.soinside.com 2019 - 2024. All rights reserved.