Shiny Datatable中的可点击链接

Pet*_*očí 26 r datatables shiny

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

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

你知道什么是错的吗?在将Shiny升级到版本0.11之前它工作正常...谢谢!

wil*_*les 38

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

以下是具有链接的表的应用程序的完整代码.

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

#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)
Run Code Online (Sandbox Code Playgroud)

  • 对于谁最终在这里进行调试的另一个注意事项:如果此示例中的'my_table'是一个数据表对象,则需要确保它还具有escape = FALSE选项(仅为renderDataTable设置它不起作用).然后一个简单的修复就是my_table <-datatable(my_table,escape = F) (2认同)