Pertanyaan Tautan yang dapat diklik di Shiny Datatable


Saya membuat tabel yang berisi beberapa tautan HTML menggunakan renderDataTable Shiny. Tautan tidak dapat diklik, sebaliknya, sebaliknya mereka ditampilkan secara harfiah:

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

Apakah Anda tahu apa yang bisa salah? Ini bekerja dengan baik sebelum memutakhirkan Shiny ke versi 0,11 ... Terima kasih!


21
2018-01-23 19:44


asal


Jawaban:


Saya memiliki masalah yang sama. Itu escape = FALSE pilihan untuk renderDataTable memecahkannya, seperti yang Anda sebutkan di komentar.

Berikut ini adalah kode lengkap untuk aplikasi dengan tabel yang memiliki tautan.

Jika Anda melakukan ini, Anda akan ingin setiap tautan menjadi unik berdasarkan nilai dalam tabel. Saya memindahkan kode ini ke fungsi jadi lebih bersih.

#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)

32
2018-04-14 21:40