0

我正在尝试根据用户在 ui.R 上的 textInput 上输入的值来更改 server.R 上 updateSelectizeInput 的选择。

从 server.R 中提取:

使用用户输入的 NewZIP 更新 ZIPCode

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))

这不起作用,我无法弄清楚我做错了什么。

有人可以帮忙吗?

谢谢,

小号

4

1 回答 1

0

isolate应该在 a内部使用reactive:它使内部的变化reactive“不敏感” 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)
于 2015-10-16T12:19:47.277 回答