如何在更改 selectinput 选项后立即清除 fileInput 支持的数据文件。我已经尝试过 renderUI 函数,但选项很大,我也尝试过将示例 id 渲染到 fileInput 但observeevent 不起作用。
问问题
54 次
1 回答
0
这与使用一点 JavaScript 配合得很好。假设btn
是您的 selectInput 的 id :
服务器.R
shinyServer(function(input, output, session) {
observe({
input$btn
session$sendCustomMessage(type = "resetFileInputHandler", "file1")
})
})
现在,在客户端,我们需要注册一个将由服务器调用并执行必要更改的处理函数。
用户界面
shinyUI(bootstrapPage(
fileInput('file1', 'I am the fileInput'),
selectInput("btn", "Change me", c(1,2,3)),
tags$script('
Shiny.addCustomMessageHandler("resetFileInputHandler", function(x) {
var id = "#" + x + "_progress"; # name of progress bar is file1_progress
var idBar = id + " .bar";
$(id).css("visibility", "hidden"); # change visibility
$(idBar).css("width", "0%"); # reset bar to 0%
});
')
))
于 2020-05-08T13:25:22.407 回答