【发布时间】:2020-04-26 13:58:43
【问题描述】:
我正在使用 R Shiny Flexdashboard,包括一个下载按钮。要在屏幕上分配项目,我想使用 splitLayout。但问题是,如果我在 SplitLayout 中使用 downloadButton,则 downloadHandler 会引发非常奇怪的行为……在 RStudio 中,它会尝试保存一个(显然)空的 .Rmd 文件。在浏览器中,它会尝试保存一个(显然)空的 .htm 文件...
带有最小示例的代码如下:
splitLayout(cellWidths = c("30%", "70%"),
wellPanel(
downloadButton("downloadData")
),
dataTableOutput("OrigData")
)
output$downloadData<-downloadHandler(
filename = "OriginalData.csv" ,
content = function(file) {
write.csv(mtcars, file=file)
},
contentType="text/csv"
)
output$OrigData<-DT::renderDataTable(mtcars)
我想知道发生了什么...
从link 看来,downloadHandler 仅在将其放在下载按钮代码之后才有效(也仅在最后一个包含在 wellPanel 中时)...但是如果仅将这部分隔离,该代码就可以正常工作。
应用程序的其他部分仍然只是文本/Markdown,以及列和选项卡标题,因为它处于草稿状态......
当 downloadHandler 尝试保存 .Rmd 和/或 html 文件时会发生什么?
【问题讨论】:
-
一般 downloadHandler() 函数很烂。写得不好。
-
@Brad 随时向 RStudio 发送您的简历以及如何改进它。
标签: r shiny flexdashboard