我想再次探讨以下问题:
在按下重置按钮后,如何将“ fileinput”对象的值设置为NULL?
有类似的帖子(how can I update a shiny fileInput object?和(How to reset a value of fileInput in Shiny?),但据我所知,此问题从未解决。
一条评论说:“ 本周早些时候,我向Shiny提交了PR,为此做了一些工作。我认为到月底它会发光。 – DeanAttali 17年6月8日在6:31
在这方面有什么进展吗?
答案 0 :(得分:0)
我发现这很好用。因此,我没有将input$fileInput
重置为NULL,而是将自定义输出设置为NULL,然后您可以将其用于conditionalPanel
,toggleState
等。
UI功能
fileInput(...)
conditionalPanel(condition = "output.file_upload_condition", ...)
服务器功能
values <- reactiveValues(
upload_state = NULL
)
#
observeEvent(input$loan_agreement_form, {
values$upload_state <- 'uploaded'
})
#
observeEvent(input$submit_loan, {
values$upload_state <- 'reset'
})
#
output$file_upload_condition <- reactive({
if (is.null(values$upload_state)) {
return(NULL)
} else if (values$upload_state == 'uploaded') {
return(input$loan_agreement_form)
} else if (values$upload_state == 'reset') {
return(NULL)
}
})
#
outputOptions(output, "file_upload_condition", suspendWhenHidden = = FALSE)