2015-10-15 43 views
0

我正在尝试更改server.R上的updateSelectizeInput选项,具体取决于用户在ui.R上的textInput中输入的值。从server.R反应式内容

提取物:

更新邮编与NewZIP用户

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

获取与邮政编码相关文件,并更新相关的下拉列表中的选择进入

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

这不起作用,我不知道我在哪里做错了什么。

有人可以帮忙吗?

谢谢,

小号

回答

0

isolate应该使用内部一个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)