单击按钮时 Shinydashboard 的 SidebarMenu 中的折叠(关闭)菜单

Posted

技术标签:

【中文标题】单击按钮时 Shinydashboard 的 SidebarMenu 中的折叠(关闭)菜单【英文标题】:Collapse (close) Menu in SidebarMenu of Shinydashboard on button click 【发布时间】:2018-04-30 07:19:40 【问题描述】:

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

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))

【问题讨论】:

【参考方案1】:

您需要将useShinyjs()添加到ui部分

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))

【讨论】:

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

以上是关于单击按钮时 Shinydashboard 的 SidebarMenu 中的折叠(关闭)菜单的主要内容,如果未能解决你的问题,请参考以下文章

使用shinydashboard和shinyjs在tabBox中启动时隐藏tabPanel

有没有啥可以从 Shiny Dashboard 触发 GitHub 操作工作流?

弹出模式中的闪亮模块化输入在关闭时不会被写入响应值 [flexdashboard/shinydashboard]

将公司徽标添加到 ShinyDashboard 标题

Google+ 登录将用户注销

R shinydashboard ——1. 基本用法