Подтвердить что ты не робот

Условная панель в блестящей приборной панели

У меня вопрос об условной панели в блестящей панели. Есть ли возможность сделать условную панель с условием menuItem в sidebarMenu? Моя цель - получить дополнительный selectInput после щелчка по вкладке меню title2 (но она должна оставаться невидимой для вкладки title1).

Я делаю что-то вроде следующего

ui <- dashboardPage(
    dashboardHeader(title = "Basic Dashboard"),
    dashboardSidebar(
        sidebarMenu(
            menuItem("tab title1", tabName = "name1", icon = icon("th")),
            menuItem("tab title2", tabName =  "name2", icon = icon("th"))
         ),
        conditionalPanel(
            condition = "input.tabName == 'name2'",
            selectInput("period", "Period:", 
                        choices = list("Years" = 1, "Months" = 2))
        )
        ),
    dashboardBody())

В стандартном shiny это можно сделать, добавив , value=1 в tab, но здесь он не работает. Кто-нибудь знает какое-либо решение? Спасибо заранее:)

4b9b3361

Ответ 1

Добавление дополнительного аргумента id в sidebarMenu решает проблему.

ui <- dashboardPage(
dashboardHeader(title = "Basic Dashboard"),
dashboardSidebar(
    sidebarMenu(id="menu1",
        menuItem("tab title1", tabName = "name1", icon = icon("th")),
        menuItem("tab title2", tabName =  "name2", icon = icon("th"))
     ),
    conditionalPanel(
        condition = "input.menu1 == 'name2'",
        selectInput("period", "Period:", 
                    choices = list("Years" = 1, "Months" = 2))
    )
    ),
dashboardBody())