R 闪亮:如何选择菜单中打开的第一个子项

R 闪亮:如何选择菜单中打开的第一个子项,r,shiny,shinydashboard,R,Shiny,Shinydashboard,我有一个相当复杂的闪亮应用程序,它的所有menuItems都在服务器部分中呈现。这是必须的。现在我找不到如何选择菜单中第一个子项的解决方案。第一页是空白的 library(shiny) library(shinydashboard) ui <- dashboardPage( dashboardHeader( title = "Shiny" ), dashboardSidebar( sidebarMenu( menuItemOutput("Se

我有一个相当复杂的闪亮应用程序,它的所有
menuItems
都在服务器部分中呈现。这是必须的。现在我找不到如何选择菜单中第一个子项的解决方案。第一页是空白的

library(shiny)
library(shinydashboard)


ui <- dashboardPage(
  dashboardHeader(
    title = "Shiny"
  ),

  dashboardSidebar(
    sidebarMenu(

      menuItemOutput("Section_1")

    )
  ),

  dashboardBody(

    tabItems(
      tabItem("report_1",h1("a")),
      tabItem("report_2",h1("b")),
      tabItem("report_3",h1("c"))
    )
  )
)


server <- function(input, output) {

    output$Section_1 <- renderMenu({

      menuItem("Section_1", tabName = "section_1", icon = icon("align-justify"), 
               startExpanded = TRUE, selected = TRUE,
               menuSubItem("Subsection 1", tabName = "report_1", selected = TRUE),
               menuSubItem("Subsection 2", tabName = "report_2"),
               menuSubItem("Subsection 3", tabName = "report_3"))

    })

}

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

ui您可以将
id
添加到
sidebarMenu
中,然后从和
observer中选择
tabName

library(shiny)
library(shinydashboard)


ui <- dashboardPage(
    dashboardHeader(
        title = "Shiny"
    ),

    dashboardSidebar(
        sidebarMenu(id = "tabs",
            menuItemOutput("Section_1")
        )
    ),

    dashboardBody(

        tabItems(
            tabItem("report_1",h1("a")),
            tabItem("report_2",h1("b")),
            tabItem("report_3",h1("c"))
        )
    )
)


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

    output$Section_1 <- renderMenu({

        menuItem("Section_1", tabName = "section_1", icon = icon("align-justify"), startExpanded = TRUE,
                 menuSubItem("Subsection 1", tabName = "report_1"),
                 menuSubItem("Subsection 2", tabName = "report_2"),
                 menuSubItem("Subsection 3", tabName = "report_3")
        )

    })

    observe({
        updateTabItems(session, "tabs", selected = "report_1")
    })
}

shinyApp(ui,server)
库(闪亮)
图书馆(shinydashboard)
用户界面