如何解决如何使下载按钮在 R 闪亮魔像模块中工作
采用@Simos Lazarou 对 Shiny App Downloads Button Only respond with HTML 的回答,我如何在 R 闪亮的 golem 包中的模块中进行这项工作?我尝试在模块中实现它并最终下载了 .html 文件而不是所需的 .xlsx 文件。
我是如何在 golem 包中实现的:
app_server.R
#' The application server-side
#'
#' @param input,output,session Internal parameters for {shiny}.
#' DO NOT REMOVE.
#' @import shiny
#' @nord
app_server <- function( input,session ) {
# List the first level callModules here
callModule(mod_download_server,"download_ui_1")
}
app_ui.R
#'
#' @param request Internal parameter for `{shiny}`.
#' DO NOT REMOVE.
#' @import shiny
#' @nord
app_ui <- function(request) {
tagList(
# Leave this function for adding external resources
golem_add_external_resources(),# List the first level UI elements here
fluidPage(
h1("testapp"),mod_download_ui("download_ui_1")
)
)
}
mod_download.R(模块)
#' download UI Function
#'
#' @description A shiny Module.
#'
#' @param id,input,session Internal parameters for {shiny}.
#'
#' @nord
#'
#' @importFrom shiny NS tagList
mod_download_ui <- function(id){
ns <- NS(id)
tagList(
downloadButton("downloadData","Download Metrics Reports")
)
}
#' download Server Function
#'
#' @nord
mod_download_server <- function(input,session){
ns <- session$ns
data_xi <- data.frame(s = c(1:3),r = c(4:6),x =c(19:21))
output$downloadData <- downloadHandler(
filename = function(){
paste(Sys.time(),'site_mtx.xlsx')
},content = function(file){
write_xlsx(data_xi,file)
}
)
}
解决方法
尝试将模块命名空间附加到 id:
downloadButton(ns("downloadData"),"Download Metrics Reports")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。