为什么renderUI不呈现输入链中的selectInput

时间:2018-11-28 22:01:12

标签: r shiny shiny-reactivity

因此,一旦有了前一个selectInput()的选择,我就需要渲染一个selectInput()链。它似乎工作正常,但最后一个未渲染。

在我的server.R文件中,我具有以下反应式表达式和renderUI表达式:

  time_series_names <- reactive({
    req(input$ac, input$factor_type, input$sub_type1, cancelOutput = FALSE)
    #calls an external function to get choices for selectInput...never gets
    #called and I'm not sure why...
    tryCatch({get_names_of_factors(asset_class = input$ac,
                                   factor_type = input$factor_type,
                                   sub_type = input$sub_type1)},
             error = function(e){
               cat("Waiting on metadata to be selected...\n")
               NULL
             })
    })

  output$selectTimeSeries <- renderUI({
    browser()
    req(input$ac, input$factor_type, input$sub_type1, cancelOutput = FALSE)
    selectInput("var",
                label = "Time Series",
                choices = time_series_names(),
                multiple = TRUE)
    })

因此,您可以看到需要三个input$...的链,但是我不确定为什么一旦选择了所有内容,为什么我无法让output$selectTimeSeriesuiOutput进行渲染。我以为既然time_series_name()是反应性的,它将触发renderUI表达式?我确实确保在自己的ui.R文件中正确写入uiOutput("selectTimeSeries")

1 个答案:

答案 0 :(得分:0)

很抱歉这个问题,我有一个req(input$sub_type1),但是那个反应性值不存在(应该是req(input$sub_type))。