如何在R Shiny中创建指向单元格值的超链接

问题描述

我有一个数据框data_input内容如下:

enter image description here

数据帧通过以下代码加载到R闪亮数据表中:

output$table <-
DT::renderDataTable(DT::datatable(data_input,options = list(
    searching = TRUE,pageLength = 10,rownames(NULL),scrollX = T,filter="top"
  )
))

我需要打开一个链接。单击功能列中的值后,位置列的值应附加到网址中,并直接指向相应的页面。例如,点击X时应直接指向http://www.mywebsite.com;loc=1:02,其中http://www.mywebsite.com;loc=是所有值的通用网址。

任何有效的方法可以做到这一点吗?有类似的线索,但是解决方案并不具体。

解决方法

这是一种方法。

library(DT)

render <- c(
  "function(data,type,row){","  if(type === 'display'){","    var a = '<a href=\"http://www.mywebsite.com?loc=' + row[2] + '\">' + data + '</a>';","    return a;","  } else {","    return data;","  }","}"
)

data_input <- data.frame(
  List = c("A","B","C"),Feature = c("X","Y","Z"),Location = c("1:02","2:04","5:10")
)

datatable(data_input,rownames = FALSE,options = list(
            columnDefs = list(
              list(targets = 1,render = JS(render)),list(targets = "_all",className = "dt-center")
            )
          )
)