反应内容

Reactive content

我正在尝试根据用户在 ui.R.

上的 textInput 上输入的值来更改 server.R 上 updateSelectizeInput 的选择

摘自server.R:

用用户输入的新邮政编码更新邮政编码

isolate({if (input$NewZIP != "") {ZIPCode<-reactive(input$NewZIP)}})

获取与 ZIPCode 关联的文件并更新从属下拉列表的选择

ZIPFile<-read.csv(paste0("./data/",ZIPCode), sep="") updateSelectizeInput(session, 'MedicalProcedure', server = T, choices=as.character(ZIPFile$a_description))

这行不通,我不知道我哪里做错了。

有人可以帮忙吗?

谢谢,

S

isolate 应该用在 里面 一个 reactive: 它使得 reactive 'insensitive' 到 input里面的变化。所以你应该尝试这样的事情:

ZIPCode <- reactive({
    if(input$NewZip == "") return(NULL)
    input$NewZip
})

ZIPFile <- reactive({
    if(is.null(ZIPCode())) return(NULL)
    read.csv(paste0("./data/", ZIPCode()), sep="")
)}

observeEvent(ZIPFile(), {
    updateSelectizeInput(session, 'MedicalProcedure', server = T, 
                         choices = as.character(ZIPFile()$a_description))
}, ignoreNULL = TRUE)