Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 单击后折叠仪表板侧栏菜单_R_Shiny_Shinydashboard - Fatal编程技术网

R 单击后折叠仪表板侧栏菜单

R 单击后折叠仪表板侧栏菜单,r,shiny,shinydashboard,R,Shiny,Shinydashboard,对于下面的代码,我希望有一个菜单(dashboardSidebar),当单击除item2之外的任何菜单项时,该菜单将折叠 library(shiny) library(shinydashboard) ui <- dashboardPage( dashboardHeader(), dashboardSidebar(collapsed = TRUE, sidebarMenu(id = "tabs", menuItem("item1", tabName = "item

对于下面的代码,我希望有一个菜单(dashboardSidebar),当单击除item2之外的任何菜单项时,该菜单将折叠

library(shiny)
library(shinydashboard)

ui <- dashboardPage(

  dashboardHeader(),

  dashboardSidebar(collapsed = TRUE, sidebarMenu(id = "tabs",
       menuItem("item1", tabName = "item1", icon = icon("newspaper")),
       menuItem("item2", tabName = "item2", icon = icon("tv"),
         menuItem("item2_1",  tabName = "item2_1", icon = icon("tasks")),
         menuItem("item2_2", tabName = "item2_2", icon = icon("flag-checkered")),
         menuItem("item2_3", tabName = "item2_3", icon = icon("user-clock"))))),

  dashboardBody())

server <- function(input, output) {}

shinyApp(ui, server)

库(闪亮)
图书馆(shinydashboard)

ui请检查以下内容:

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

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(collapsed = TRUE, sidebarMenu(
    id = "tabs",
    menuItem("item1", tabName = "item1", icon = icon("newspaper")),
    menuItem(
      "item2",
      tabName = "item2",
      icon = icon("tv"),
      menuItem("item2_1",  tabName = "item2_1", icon = icon("tasks")),
      menuItem(
        "item2_2",
        tabName = "item2_2",
        icon = icon("flag-checkered")
      ),
      menuItem("item2_3", tabName = "item2_3", icon = icon("user-clock"))
    )
  )),
  dashboardBody(useShinyjs(),
                tabItems(
                  tabItem(tabName = "item1",
                          h2("item1 tab content")),
                  tabItem(tabName = "item2_1",
                          h2("item2_1 tab content")),
                  tabItem(tabName = "item2_2",
                          h2("item2_2 tab content")),
                  tabItem(tabName = "item2_3",
                          h2("item2_3 tab content"))
                ))
)

server <- function(input, output, session) {
  observeEvent(input$tabs, {
    shinyjs::toggleClass(selector = "body", class = "sidebar-collapse")
  }, ignoreInit = TRUE)
}

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

ui Hi@ismirsehegal,我回复了这个问题,因为其他答案对我没有帮助,或者我不知道如何使用它。另一篇文章的答案解释了如何在单击actionButton(输入$hideSidebar)后折叠ShideberMenu,但我需要在单击menuItem后折叠它。我尝试过输入$item1和其他组合,但它们都不起作用。你能帮忙吗?谢谢,请检查我的答案。是的,这太完美了!非常感谢@Ismirsehegal