iom*_*dee 3 r shiny shinydashboard
我有非常复杂的闪亮应用程序,其所有内容都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)
Run Code Online (Sandbox Code Playgroud)
您可以添加一个id到您的sidebarMenu,然后tabName从中选择一个observer
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)
Run Code Online (Sandbox Code Playgroud)