[英]R shiny datatable with HTML Tags
我正在嘗試利用閃亮的數據表中的html標簽。 我有一個文件,其中通過一些標准文本創建了URL,然后將其與另一列粘貼在一起以創建完整的URL。 我只在這里包含數據和服務器部分。
我還內置了一個過濾器選項,可以對兩列進行過濾,然后在最后輸出數據文件。 我在這里有一個簡單的可重復示例,它說明了我要完成的工作,但我認為我需要添加escape = FALSE選項; 但我不確定應該去哪里。 所以目前我正在獲取格式化的html,我想要顯示文本A的實時html。
這是我的數據的簡化版本以及我如何設置它。 謝謝!
A <- c("Alpha", "Beta", "Gamma", "Delta")
B <- c("one","two","three","four")
C <- c("five","six","seven","eight")
Test_File <- as.data.frame(cbind(A,B,C))
output$table <- DT::renderDataTable(DT::datatable({
data <- Test_File %>%
dplyr::select(A,B) %>%
dplyr::mutate(URL = paste0("https://www.testsite.com/abcdefg/",
A)) %>%
dplyr::mutate(URL = paste0("<a href='", URL, "'>",A,"</a>"))
if(input$a != "All"){
data <- data[data$A == input$a,]
}
if(input$b != "All"){
data <- data[data$B == input$b,]
}
data
}))
這是一個工作示例:
library(DT)
library(dplyr)
A <- c("Alpha", "Beta", "Gamma", "Delta")
B <- c("one","two","three","four")
C <- c("five","six","seven","eight")
Test_File <- as.data.frame(cbind(A,B,C))
ui <- basicPage(
DT::dataTableOutput("table")
)
server <- function(input, output) {
output$table <- DT::renderDataTable({
data <- Test_File %>%
dplyr::select(A,B) %>%
dplyr::mutate(URL = paste0("https://www.testsite.com/abcdefg/", A)) %>%
dplyr::mutate(URL = paste0("<a href='", URL, "'>",A,"</a>"))
}, escape = FALSE)
}
shinyApp(ui, server)
您需要將renderDataTable
escape = FALSE
作為參數傳遞給renderDataTable
。 而且,您需要刪除datatable()
調用,因為將數據renderDataTable
對象傳遞給它時renderDataTable
忽略其他參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.