如何在默认情况下不折叠 menuSubItem 的情况下部署 R shinydashboard

How to deploy R shinydashboard with menuSubItem not collapsed by default

下面是 shinydashboard 的一些简单示例代码,在 menuItem 下有各种 subMenuItem 对象。默认情况下,部署应用程序时 subMenuItem 会折叠。有没有办法设置它以使它们不折叠?

ui <- dashboardPage(
  dashboardHeader(title='Head'),
  dashboardSidebar(
    sidebarMenu(
      menuItem('Tabs', tabName='tabs',
        menuSubItem('Tab 1', tabName='tab1'),
        menuSubItem('Tab 2', tabName='tab2'),
        menuSubItem('Tab 3', tabName='tab3')
      )
    )
  ),
  dashboardBody(
    tabItems(
      tabItem(tabName='tab1',
        h1("Tab 1")
      ),
      tabItem(tabName='tab2',
        h1("Tab 2")
      ),
      tabItem(tabName='tab3',
        h1("Tab 3")      
      )
    )
  )
)

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

shinyApp(ui, server)

您可以使用Javascript更改菜单元素的默认显示样式(默认为display:none,需要更改为display:block)。在 menuItem() 之后添加以下行(记得还要添加一个逗号)

  tags$head(tags$script(HTML('$(document).ready(function() {$(".treeview-menu").css("display", "block");})')))

自 OP 以来可能已添加的功能:startExpanded。将它设置为 = TRUE 为任何包含您希望默认展开的子项的菜单项。

  dashboardSidebar(
    sidebarMenu(
      menuItem('Tabs', tabName='tabs', startExpanded = TRUE,
        menuSubItem('Tab 1', tabName='tab1'),
        menuSubItem('Tab 2', tabName='tab2'),
        menuSubItem('Tab 3', tabName='tab3')
      )
    )
  ),