删除特定tabPanel的sidebarPanel

时间:2016-05-17 13:45:27

标签: r shiny

我正在使用闪亮来做un R web应用程序,该应用程序由主面板左侧的侧边栏面板(带有2个tabpanel)和下面的另一个侧边栏面板组成。 我想保留第一个主面板的底部侧边栏,但是第二个主面板将其移除。 代码如下:

  sidebarPanel(

    wellPanel(

      fileInput('file1', 'Choisissez les data service ?',
                accept = c('text/csv', 'text/comma-separated-values',
                'text/tab-separated-values', 'text/plain',
                '.csv', '.tsv', 'RData'
                )
      )


    ),


    wellPanel(

      selectInput(inputId = "fonction.de",
                  label = "En fonction de ?",
                  choices = fonctions.de,
                  selected = "perimetre_commercial_estime"
      ),


      selectInput(inputId = "perimetre",
                  label = "Perimetres commercial",
                  choices = perimetres,
                  selected = "2-HDM MARCHAND",
                  multiple = TRUE
      ),

      checkboxInput(inputId = "case1", label = "Tous perimetres", value = FALSE),


      selectInput(inputId = "ae",
                  label = "AE",
                  choices = aes,
                  selected = "AE Paris",
                  multiple = TRUE
      ),

      checkboxInput(inputId = "case2", label = "Tous AE", value = FALSE),


      selectInput(inputId = "segment",
                  label = "Segment commercial",
                  choices = segments,
                  selected = "Premium",
                  multiple = TRUE
      ),

      checkboxInput(inputId = "case3", label = "Tous segments", value = FALSE)





    )
  ),

  mainPanel(

    tabsetPanel(type = "tabs",
                tabPanel("Graphiques",
                         plotlyOutput("my.chart")),
                tabPanel("Tables", 
                         dataTableOutput("my.table"),
                         htmlOutput("my.text1"))

    )
  ),

  sidebarPanel(

    selectInput(inputId = "abscisse",
                label = "Abscisse",
                choices = abscisses,
                selected = "",
                multiple = FALSE
    ),


    selectInput(inputId = "ordonnee",
                label = "Ordonnee",
                choices = ordonnees,
                selected = "",
                multiple = FALSE
    )

  ),


  sidebarPanel(
    img(src="Dymetryyy.jpg", height = 150, width = 350)
  )


 )
)

1 个答案:

答案 0 :(得分:3)

对于遇到同样问题的人,你必须使用conditionalPanel来解决它。

  mainPanel(

    tabsetPanel(id = "bab",
                type = "tabs",
                tabPanel(value = "graphiques",
                         "Graphiques",
                         plotlyOutput("my.chart")),
                tabPanel(value = "tables",
                         "Tables", 
                         dataTableOutput("my.table"),
                         htmlOutput("my.text1"))

    )
  ),

  conditionalPanel(condition = "input.bab == 'graphiques'",
    sidebarPanel(

      selectInput(inputId = "abscisse",
                  label = "Abscisse",
                  choices = abscisses,
                  selected = "",
                  multiple = FALSE
      ),


      selectInput(inputId = "ordonnee",
                  label = "Ordonnee",
                  choices = ordonnees,
                  selected = "",
                  multiple = FALSE
      )

    ),


    sidebarPanel(
      img(src="dymetryyy", height = 150, width = 350)
    )

  )