Я пытаюсь создать динамическую c панель боковой панели в R Shiny Dashboard. Я успешно добавил функциональность для добавления элемента меню боковой панели в зависимости от того, удовлетворено ли заданное условие. Однако, как только я щелкаю по любому из элементов подменю, уже присутствующих в приложении, содержимое Dynami c исчезает. Ниже приведен рабочий пример проблемы:
library(shinycssloaders)
library(shinyalert)
library(shinydashboard)
library(shinyWidgets)
ui <- dashboardPage(dashboardHeader(title = "Title"),
dashboardSidebar(
sidebarMenu(
id = "tabss"
,menuItem("General Information", tabName = "General_Information", icon = icon("android"))
,sidebarMenuOutput("dynamic_content")
,menuItem("Settings", tabName = "settings", icon = icon("cogs")
,menuSubItem("Setting1", tabName = "Setting1", icon = icon("cogs"))
,menuSubItem("Setting2", tabName = "Setting2", icon = icon("cogs")))
)),
dashboardBody(
tabItems(
tabItem("General_Information",
actionButton("add_menuItem",label = "Add Menu Item"))
)
)
)
server <- function (input, output, session){
observeEvent(input$add_menuItem,{
output$dynamic_content <- renderMenu(menuItem("Dynamic Menu","dynamicMenu"))
})
}
shinyApp(ui, server, options = c(launch.browser = T))
В приведенном выше примере с помощью кнопки действия на странице общей информации добавляется элемент меню на боковой панели между общей информацией и настройкой. Однако при открытии подменю настройки динамически добавляемый элемент меню исчезает с боковой панели.
Я ищу обходной путь, чтобы динамически созданный элемент меню не исчезал. Буду признателен за любую помощь в этом. Пожалуйста, дайте мне знать, если какая-либо дополнительная информация будет полезна для решения. Спасибо!