【发布时间】:2021-05-13 17:05:06
【问题描述】:
我正在尝试通过使用 R 闪亮绑定双击 DT 数据表来创建一个动作。我没有明显的 JS 技能,所以我承认这是问题所在;-)。 从 SO 的示例中,我将以下代码拼凑在一起(代码 sn-p 并简化以显示问题):
library(shiny)
library(DT)
shiny::shinyServer(
function(input, output, session) {
data <- reactiveValues(data = NA)
data$data <- "some code to make the data"
output$table <- DT::renderDataTable({
DT::datatable(
data = data$data,
class = 'compact',
escape = FALSE,
rownames = FALSE,
selection = "single",
options = (
list(
dom = "t",
ordering = FALSE,
paging = FALSE,
autoWidth = FALSE,
scrollY = "100vh",
scrollCollapse = FALSE
)
),
callback = htmlwidgets::JS(" table.on('dblclick','tr',
function() {
var row_=table.cell(this).index().row;
var col=table.cell(this).index().column;
Shiny.setInputValue('dt_dblclick', {"dt_row": row_, "dt_col": col});
}
);")
)
}, server = FALSE)
observeEvent(input$dt_dblclick, {
print(input$dt_dblclick)
})
})
}
我正在尝试创建绑定到闪亮的input 对象 (input$dt_dblclick) 和使用Shiny.setInputValue 的双击事件。但什么也没有发生。没有值被打印到控制台。
请帮忙。谢谢。
【问题讨论】:
标签: javascript r binding dt