闪亮数据表中的超链接问题

问题描述 投票:0回答:2

我有这段代码,它使用 Paste0 函数创建超链接。 但点击后,网址显示为:

http://127.0.0.1:4350/www.companyname.com/test/test/product.html

http://127.0.0.1:4350/ 始终位于前面。 在另一部分的其余代码中,它工作正常。

在 URL1 列中,数据为 www.companyname.com/test/test/product.html 这是一些代码:

ui

(...) tabsetPanel( tabPanel("Products", dataTableOutput("table1")), (...)

服务器

(...) shinyServer(function(input, output, session) { output$table1 <- DT::renderDataTable({ search <- input$name df <- subset(products, grepl(search, products$Name, ignore.case = TRUE)==TRUE) df$Model <- paste("<a href= '",df$URL1,"' target='_blank '>",df$Model,"</a>") df2 <- subset(df, Clonality == input$clonality) df3 <- df2[,tbl] colnames(df3) <- c("Name", "Model", "Short Description", "Human Gene Symbol", "Sizes", "Price Pounds", "Price Dollars", "Price Euros", "Reviews" ) datatable(df3, escape = FALSE)%>%formatStyle("Reviews",backgroundColor=styleInterval(1.10, c("red", "green")))%>%formatStyle("Name","Price Dollars",backgroundColor=styleEqual("132 214.5 264", "orange")) }) (...)
    
r shiny dt
2个回答
0
投票
URL1 列数据为

www.companyname.com/test/test/product.html

如果您在网址前面添加 http:// ,它应该可以工作。该列中的 URL 应为:

http://www.companyname.com/test/test/product.html
    

0
投票
根据您的评论,您的数据如下所示:

Model URL1 1 www.companyname.com/test/test/product.html 2 www.companyname.com/test/test/product.html
这是您的代码运行的最小示例:

library(shiny) df <- data.frame(Model = c("1", "2"), URL1 = c("www.companyname.com/test/test/product.html", "www.companyname.com/test/test/product.html")) ui <- fluidPage(DT::dataTableOutput("table")) server <- function(input, output){ output$table <- DT::renderDataTable({ df$Model <- paste0("<a href= '","http://",df$URL1,"' target='_blank '>",df$Model,"</a>") DT::datatable(df, escape = FALSE) }) } shinyApp(ui, server)
您的 URL1 缺失 

http://

,这导致了错误。另外,我必须使用 
paste
 而不是 
paste0
,这样就不会出现不必要的空格。

© www.soinside.com 2019 - 2024. All rights reserved.