Shiny Datatable中的可点击链接

时间:2015-01-23 19:44:57

标签: r datatables shiny

我使用Shiny的renderDataTable创建了一个包含一些HTML链接的表。但是,这些链接不是可点击的,而是按字面意思呈现:

https://samizdat.shinyapps.io/zakazky/

你知道可能出现什么问题吗?在将Shiny升级到版本0.11之前它工作正常...谢谢!

1 个答案:

答案 0 :(得分:35)

我遇到了同样的问题。正如您在评论中提到的,renderDataTable的escape = FALSE选项解决了它。

以下是包含带链接的表的应用的完整代码。

如果您这样做,您将希望每个链接基于表中的值是唯一的。我将此代码移动到一个函数中,使其更清晰。

#app.R#

library(shiny)

createLink <- function(val) {
  sprintf('<a href="https://www.google.com/#q=%s" target="_blank" class="btn btn-primary">Info</a>',val)
}

ui <- fluidPage(  
  titlePanel("Table with Links!"),
  sidebarLayout(
    sidebarPanel(
      h4("Click the link in the table to see
         a google search for the car.")
    ),
    mainPanel(
      dataTableOutput('table1')
    )
  )
)

server <- function(input, output) {

  output$table1 <- renderDataTable({

    my_table <- cbind(rownames(mtcars), mtcars)
    colnames(my_table)[1] <- 'car'
    my_table$link <- createLink(my_table$car)
    return(my_table)

  }, escape = FALSE)
}

shinyApp(ui, server)