【发布时间】:2017-11-18 02:25:33
【问题描述】:
您好,我正在编写一个闪亮的应用程序,在服务器端代码上,当用户单击 Run 按钮时,我正在调用一个函数。我遇到的问题是该功能需要大约 10-25 分钟才能运行,并且用户可能在此期间多次单击该按钮。函数运行结束后,我向用户显示下载文件的输出路径并关闭应用程序。如何防止用户多次单击按钮,例如功能运行时的加载屏幕?
observeEvent(input$runprocess, {
rundownload()
showModal(modalDialog(title ="Output folder: XYZ path",
actionButton("close", "Exit"),footer = NULL,
size = c("m"), easyClose = FALSE))
})
observeEvent(input$close, {
js$closeWindow()
stopApp()
})
【问题讨论】:
-
在调用
rundownload()之前添加一个modalDialog? -
@JorisMeys 用户如何知道下载已完成?
-
因为下载完成后,你有第二个modalDialog告诉它已经完成。我没有说“删除另一个”;-)
-
现在我意识到我以前见过这个问题,所以请检查我标记的问题,以了解同一主题的更多变体。但一般规则是你调用任何类型的代码生成加载消息或任何之前你在同一个表达式中调用
rundownload()(即相同的observe()或observeEvent()调用)跨度>