code r shiny shinydashboard

code - shiny r html



R shinydashboard selección del menú dinámico (1)

He creado menús dinámicos SibeBar en R shinydashboard. Aunque utilizo selected = TRUE , no se selecciona ningún elemento de menú asociado con un menú al inicio en este modo dinámico.

¿Cómo puedo asegurarme de que tengo control sobre qué contenido de MenuItem se muestra al inicio en este modo dinámico?

He estado buscando por todas partes a través de publicaciones similares. No pude encontrar nada que funcione hasta ahora. updateTabItems() no parece funcionar.

¿Algunas ideas? gracias por adelantado.

library(shiny) library(shinydashboard) ui <- dashboardPage( dashboardHeader(title = "Dynamic sidebar"), dashboardSidebar( sidebarMenuOutput("menu") ), dashboardBody( tabItems( tabItem(tabName = "m1", p("Menu content 1") ), tabItem(tabName = "m2", p("Menu content 2") ) ) ) ) server <- function(input, output) { output$menu <- renderMenu({ sidebarMenu( menuItem("Menu item1", tabName="m1", icon = icon("calendar")), menuItem("Menu item2", tabName="m2", icon = icon("database"),selected = TRUE) ) }) } shinyApp(ui, server)

Editar: Problema de sangría que ocurre con el awser de Romain


De hecho, debe utilizar updateTabItems() . Para hacerlo, debe configurar una identificación para sidebarMenu y actualizar el menuSubItem correspondiente menuSubItem o menuSubItem .

Para su caso específico, debe hacer algo como esto:

library(shiny) library(shinydashboard) ui <- dashboardPage( dashboardHeader(title = "Dynamic sidebar"), dashboardSidebar( sidebarMenu(id="tabs", sidebarMenuOutput("menu") ) ), dashboardBody( tabItems( tabItem(tabName = "m1", p("Menu content 1") ), tabItem(tabName = "m2", p("Menu content 2") ) ) ) ) server <- function(input, output,session) { output$menu <- renderMenu({ sidebarMenu( menuItem("Menu item1", tabName="m1", icon = icon("calendar")), menuItem("Menu item2", tabName="m2", icon = icon("database")) ) }) isolate({updateTabItems(session, "tabs", "m2")}) } shinyApp(ui, server)

Versión editada para eliminar el problema de indentación