【问题标题】:Dynamic naming of download filename from DataTable buttons extension in R shiny从 R Shiny 中的 DataTable 按钮扩展中动态命名下载文件名
【发布时间】:2019-10-30 13:18:19
【问题描述】:

我有:


library(shiny)
library(DT)

ui <- fluidPage(
    h2("Explorer"),

    tabPanel(h3("Inspector"),
             p("Overview of data for a particular sample."),
             selectInput(inputId = "sample",
                         label = h3("Select sample"),
                         selectize = TRUE,
                         choices = names(vcf_tibbles)),
             dataTableOutput("sample_inspector")
            )
    )

server <- function(input, output) {
  output$sample_inspector <- DT::renderDataTable(

      sample_overview(sample_id = input$sample, vcf_tibbles = vcf_tibbles),
      rownames = FALSE,
      extensions = 'Buttons',
      options = list(paging = FALSE,
             dom = 'Bfrtip',
             buttons = list( list(extend = 'csv',   filename =  paste("snp", input$sample, sep = "-")),
                     list(extend = 'excel', filename =  paste("snp", input$sample, sep = "-"))))
      )
}

一切正常,因为我选择了一个样本并且表格相应地更新。如果我单击 CSV 或 Excel,则会下载相应的数据。但是,文件名总是错误的

似乎正在更新数据表的内容,但按钮不考虑input$sample

有没有办法让按钮中的文件名参数也是反应式的?

我试图让名称成为函数调用的结果,但也无法让它工作。

谢谢!

【问题讨论】:

  • 你在server部分的开头写了sammple_overview(有两个m),是自愿的还是错误的?
  • 感谢@bretauv - 这确实是这个说明性代码子集中的错字。 (它与问题无关)。固定
  • 两个问题:可以提供vcf_tibbles的样本吗?什么是 sample_overview 函数?

标签: r shiny dt


【解决方案1】:

这样工作:

server <- function(input, output) {
  output$sample_inspector <- DT::renderDataTable(
    iris,
    rownames = FALSE,
    extensions = 'Buttons',
    options = exprToFunction(
      list(paging = FALSE,
           dom = 'Bfrtip',
           buttons = list( 
             list(extend = 'csv',   filename =  paste("snp", input$sample, sep = "-")),
             list(extend = 'excel', filename =  paste("snp", input$sample, sep = "-"))))
    )
  )
}

【讨论】:

    猜你喜欢
    • 2017-01-01
    • 2018-10-17
    • 2016-11-06
    • 2012-10-17
    • 2017-08-09
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多