如何使我的输出显示在具有renderUI和开关的框项目中?

时间:2019-02-10 04:18:14

标签: shiny widget

我正在尝试创建动态UI。在这种情况下,当用户选择一个程序名称时,教授框将仅显示在该程序中教授的教授名称。根据该程序,将填充教授(“教授”)的输出。

我尝试重命名内容以查看是否可能有重复命名的项目,但无济于事。当我运行该应用程序时,会出现“教授”框,但是根据程序的筛选,它没有显示任何名称。没有错误产生。我已经看了几个小时了,不确定我是否缺少这么简单的东西……

UI

tabItem(tabName =“ dashboard”,     fluidRow(

selectInput("selectMode",label=h3("Select Mode"),
choices = c("Overall"="Overall")


),

box(width =3, solidHeader = T, background = "blue",

selectInput("selectProgram",label=h3("Select Program"),
choices = list( 
               "Social Work" = "SWO",
               "Nursing" ="NUR"))
               ),


uiOutput(outputId = 'course'),
uiOutput(outputId = 'prof')))

服务器

server <- function(input, output){

var <- reactive({
    switch(input$selectProgram, "Nursing" =  
    unique(
    indicators %>% filter(program=="NUR")%>%
        select(Professor)),

       "Social Work" = unique(indicators %>% 
       filter(program=="SWO")%>%select(Professor))
)
})

output$prof <- renderUI({
box(width =3, solidHeader = T, background = "blue",
selectInput("reactiveProfessor", "Select Professor", choices = 
var())
)
})

我希望“教授”框根据程序选择显示适当的教授的姓名。

0 个答案:

没有答案