【问题标题】:Reactive dropdown menu in R shiny dashboardR闪亮仪表板中的反应式下拉菜单
【发布时间】:2018-11-18 17:40:33
【问题描述】:

这里是闪亮的新手。我正在创建仪表板并具有不同的类别和子类别。我想要做的如下:

当屏幕加载时,我希望所有类别和子类别都可供选择,但如果我选择类别“1”,则只有“sub1”和“sub2”可供选择。所以就像它被类别过滤一样。 我将如何在闪亮的服务器文件中实现这一点? 我的代码的一个简单的例子如下:(服务器是sudo代码)

UI -->     
    dashboardSidebar(
        sidebarMenu(
          menuItem("CSF2", tabName = "CSF2", icon=icon("bar-chart")),
            selectInput("category", "Select a category", c("1", "2"),
            selectInput("subcategory", "Select a subcategory",       c("sub1", "sub2", "sub3" "sub4"),
        )),


server--->
shinyServer(function(input,output){
    if (category_selected == 1){subcategoryOptions= c(sub1,sub2)}
    if (category_selected == 2){subcategoryOptions= c(sub3,sub4)}

}

【问题讨论】:

    标签: r shiny shinydashboard


    【解决方案1】:
    library(shiny)
    library(shinydashboard)
    
    UI <- dashboardSidebar(
      sidebarMenu(
        menuItem("CSF2", tabName = "CSF2", icon = icon("bar-chart")),
        selectInput("category", "Select a category", c("1", "2")),
        selectInput("subcategory", "Select a subcategory",       
                    c("sub1", "sub2", "sub3", "sub4"))
      )
    )
    
    
    server <- function(input, output, session) {
    
      observe({
        updateSelectInput(
          session, "subcategory", "Select a subcategory",
          choices = switch(input$category,
            "1" = c("sub1", "sub2"),
            "2" = c("sub3", "sub4"))
        )
      })
    
    }
    
    shinyApp(UI, server)
    

    【讨论】:

      猜你喜欢
      • 2017-07-15
      • 2016-12-09
      • 2017-04-12
      • 2019-02-23
      • 1970-01-01
      • 2019-11-26
      • 1970-01-01
      • 2018-07-01
      • 1970-01-01
      相关资源
      最近更新 更多