侧边栏中的折叠(关闭)菜单按钮上的Shinydashboard菜单单击

侧边栏中的折叠(关闭)菜单按钮上的Shinydashboard菜单单击,r,shiny,shinydashboard,reactive,shinyjs,R,Shiny,Shinydashboard,Reactive,Shinyjs,我在一个类似于下面的应用程序中工作。我有我的输入面板在侧栏下的一个菜单,这是初步扩大。我想折叠菜单并隐藏所有的输入面板,这样我的边栏就会干净。但它应该在我展开时出现(而不是永久隐藏)。我尝试了以下解决方案,但不起作用。请帮助我找到解决方案或任何替代方法 library(shiny) library(shinydashboard) library(shinyjs) ui <- dashboardPage( header = dashboardHeader(), sidebar =

我在一个类似于下面的应用程序中工作。我有我的输入面板在侧栏下的一个菜单,这是初步扩大。我想折叠菜单并隐藏所有的输入面板,这样我的边栏就会干净。但它应该在我展开时出现(而不是永久隐藏)。我尝试了以下解决方案,但不起作用。请帮助我找到解决方案或任何替代方法

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

ui <- dashboardPage(
  header = dashboardHeader(),
  sidebar = dashboardSidebar(
    sidebarMenu(
      menuItem(
        startExpanded = TRUE,
        "Menu 1",
        column(
          width = 12,
          actionButton("hideMe", label = "Collapse Me", icon = icon("close"))
        )
      )
    )
  ),
  body = dashboardBody()
)
server <- function(input, output, server){
  observeEvent(input$hideMe, {
    shinyjs::hide(selector = "ul.menu-open");
  })
}

runApp(shinyApp(ui, server))
库(闪亮)
图书馆(shinydashboard)
图书馆(shinyjs)

ui您需要将
useShinyjs()
添加到
ui
part

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

ui <- dashboardPage(
        header = dashboardHeader(),
        sidebar = dashboardSidebar(
                useShinyjs(),
                sidebarMenu(
                        menuItem(
                                startExpanded = TRUE,
                                "Menu 1",
                                column(
                                        width = 12,
                                        actionButton("hideMe", label = "Collapse Me", icon = icon("close"))
                                )
                        )
                )
        ),
        body = dashboardBody()
)
server <- function(input, output, server){
        observeEvent(input$hideMe, {
                shinyjs::hide(selector = "ul.menu-open");
        })
}

runApp(shinyApp(ui, server))
库(闪亮)
图书馆(shinydashboard)
图书馆(shinyjs)

谢谢,诀窍是把
useShinyjs()
放在
ui
部分。