2015-04-28 16 views
10

Ho una domanda sul pannello condizionale in cruscotto lucido. C'è la possibilità di rendere condizionale il pannello condizionale con menuItem in sidebarMenu? Il mio obiettivo è ottenere un ulteriore selectInput dopo aver fatto clic sulla scheda del menu title2 (ma dovrebbe rimanere invisibile per la scheda title1).Pannello condizionale in cruscotto lucido

sto facendo qualcosa come segue

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()) 

In serie shiny potrebbe essere fatto da aggiungere alla scheda , value=1 ma qui non funziona. Qualcuno conosce qualche soluzione? Grazie in anticipo :)

risposta

12

L'aggiunta di un argomento aggiuntivo id a sidebarMenu risolve il problema.

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())