簡體   English   中英

側邊欄的閃亮ConditionalPanel

[英]Shiny ConditionalPanel for Sidebar

我正在嘗試根據主體中選擇的選項卡更新我的Shiny Dashboard側欄。 因此,當選擇選項卡“總體”時,這將在條件面板1中顯示菜單項(TA.Name1,TA.Name2),並且當選擇選項卡“其他”時,邊欄將顯示條件面板2的菜單項。吼叫:

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(
    conditionalPanel(condition="input.conditionedPanels==1", sidebarMenu(width=150,
      menuItem("TA.Name1", tabName = "TA1")),
      menuItem("TA.Name2", tabName = "TA2"))),
    conditionalPanel(condition="input.conditionedPanels==2",sidebarMenu(width=150,
      menuItem("EA.Name1", tabName = "EA1")),
      menuItem("EA.Name2", tabName = "EA2"))),             
  dashboardBody(
     tabsetPanel(
        tabPanel("Overall",value=1,fluidRow(
          column(3,selectInput("PACO", h5("PACO"), levels(OA$PACO)))),
          tabItems(
            tabItem(tabName = "TA1","TA1"),fluidRow(
               box(title="TA.Name1,dygraphOutput("TA1.data")),
               box(title="TA.Name2,dygraphOutput("TA2.data")))),
            tabItem(tabName = "TA2","TA2")
    )),
        tabPanel("Other",value=2,fluidRow(
          column(3,selectInput("CV", h5("CV"), levels(OA$CV)))),
          tabItems(
            tabItem(tabName = "EA1","EA1"),fluidRow(
               box(title="EA.Name1,dygraphOutput("EA1.data")),
               box(title="EA.Name2,dygraphOutput("EA2.data")))),
            tabItem(tabName = "EA2","EA2")
    ))))

您的示例代碼不好,我認為您應該看一下此提要: http : //stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example

我必須簡化您的代碼才能真正找到解決方案...

看看它:

library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(
      sidebarMenu(id="tabs",
                  sidebarMenuOutput("menu"))),
  dashboardBody(
  tabsetPanel(id="tabs2",
  tabPanel("Overall",value=1),
  tabPanel("Other",value=2))))

server <-  function(input, output, session) {

  output$menu <- renderMenu({
    if (input$tabs2 == 1 ) {
    sidebarMenu(
      menuItem("TA.Name1", tabName = "TA1"),
      menuItem("TA.Name2", tabName = "TA2"))}
    else{
      sidebarMenu(
        menuItem("EA.Name1", tabName = "EA1"),
        menuItem("EA.Name2", tabName = "EA2"))
    }
  })
  }

shinyApp(ui = ui, server = server)

它應該做你想要的->反應性sidebarMenu

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM