У меня блестящая приборная панель, а в боковой панели у меня есть два меню. У первого есть два предмета, а у второго - пять.
Когда приборная панель загружает первый пункт «Домой» в первом меню, он выбирается по умолчанию. Когда выбран второй элемент, отображается второе меню.
Мне удалось показать второе меню, но первое меню возвращается к пункту меню «Домой». Вы можете просто щелкнуть любой из пунктов во втором меню, но первое меню всегда возвращается к домашнему элементу при выборе второго элемента. Я хочу, чтобы он оставался на втором элементе, когда он был выбран, и в основном использую два меню, как если бы они были одним.
Я не хочу, однако, чтобы второе меню было подменю, поскольку это не так.
Ниже приведен некоторый фиктивный код, отображающий проблему.
library(shiny)
library(shinydashboard)
ui <- dashboardPage(skin = "blue", title = "",
dashboardHeader(),
dashboardSidebar(
sidebarMenu(id="fMenu", sidebarMenuOutput("firstMenu")),
sidebarMenu(id = "eMenu", sidebarMenuOutput("extendedMenu"))
),
dashboardBody()
)
server <- (function(input, output, session) {
output$firstMenu <- renderMenu({
menu_list <- list(
menuItem("Home", tabName = "home", icon = icon("home")),
menuItem("2nd Item", tabName = "second", icon = icon("sort"))
)
sidebarMenu(.list = menu_list)
})
isolate({updateTabItems(session, "featureMenu", "home")})
observeEvent(input$fMenu, {
if(input$fMenu == "second"){
output$extendedMenu <- renderMenu({
menu_list <- list(
menuItem("3rd Item", tabName = "third", icon = icon("sort")),
menuItem("4th Item", tabName = "fourth", icon = icon("sort")),
menuItem("5th Item", tabName = "fifth", icon = icon("sort"))
)
sidebarMenu(.list = menu_list)
})
}
})
})
shinyApp(ui, server)