我知道这有点老了,但是由于我今天遇到了类似的问题并找到了答案,所以我想我会分享。我这样做的方法是使用HTML
Shiny 中的函数对 html 进行正确编码,这将处理必要的转义。可以在这里看到一个例子:
DT::datatable(
get(input$dataInput),
caption = htmltools::tags$caption(
style = 'caption-side: top; text-align: Left;',
htmltools::withTags(
div(HTML('Here is a link to <a href="http://rstudio.com">RStudio</a>'))
)
)
)
一个简单的 Shiny 应用程序中的完整示例:
library(shiny)
library(DT)
data("mtcars")
data("iris")
ui <- fluidPage(
titlePanel("Example Datatable with Link in Caption"),
selectInput('dataInput', 'Select a Dataset',
c('mtcars', 'iris')),
DT::dataTableOutput('example1')
)
server <- function(input, output, session){
output$example1 <- DT::renderDataTable({
# Output datatable
DT::datatable(
get(input$dataInput),
caption = htmltools::tags$caption(
style = 'caption-side: top; text-align: Left;',
htmltools::withTags(
div(HTML('Here is a link to <a href="http://rstudio.com">RStudio</a>'))
)
)
)
})
}
shinyApp(ui = ui, server = server)