R Shiny:使用“FluidRow()”时生成 HTML 列中数据的链接

R Shiny: Generate HTML Links to Data in A Column When Using `FluidRow()`

我正在使用 R 包 Shiny 显示表格数据。我希望将一列中的值显示为 HTML 链接,可用于导航到另一页。

我该怎么做?

保罗·K

如果您的其中一列有 link,您可以向其添加 HTML link 标签并将其显示在您的数据表中:

server <- function(input, output) {
  #create dummy data
  data <- data.frame(links=c("http://www.google.com","http://www.google.com"))
  #add html link tags
  data$links <- paste0("<a href='",data$links,"'>",data$links,"</a>")

  #render datatable
  output$table <- renderDataTable(data,escape=FALSE)
}

ui <- fluidPage(
  fluidRow(dataTableOutput(outputId="table"))
)

shinyApp(ui = ui, server = server)

您需要 renderDataTable 中的 escape=FALSE 因为闪亮的 0.11 HTML 实体被转义,来自 here

Added an `escape` argument to `renderDataTable()` to escape the HTML entities
  in the data table for security reasons. This might break tables from previous
  versions of shiny that use raw HTML in the table content, and the old behavior
  can be brought back by `escape = FALSE` if you are aware of the security
  implications. (#627)