Я работаю над DT в моем приложении Shiny, которое содержит объекты Shiny Input и некоторые редактируемые столбцы.
Вот воспроизводимый пример,
library(shiny)
library(DT)
ui <- fluidPage(
fluidRow(
DTOutput('table1')
)
)
helper_fun <- function(FUN, len, id, ...) {
inputs = character(len)
for (i in seq_len(len)) {
inputs[i] = as.character(FUN(paste0(id, i), selected = 1, ...))
}
inputs
}
server <- function(input, output, session) {
output$table1 <- renderDT({
dat <- data.frame(Name = c('A', 'B')
, column1 = helper_fun(FUN = selectInput, len = length(2), id = 'selector_', label = NULL, choices = c(1, 2), width="100px")
)
dat
}, editable = list(target = 'cell', disable = list(columns = c(2))), server = FALSE, escape = FALSE
, options = list(preDrawCallback = JS('function() { Shiny.unbindAll(this.api().table().node()); }'),
drawCallback = JS('function() { Shiny.bindAll(this.api().table().node()); } ')))
}
shinyApp(ui, server)
Я хотел бы иметь возможность редактировать один из столбцов и отключить редактирование столбцов с блестящими значениями ввода. Использование editable = list(target = 'cell', disable = list(column = c(2)))
не дает желаемого эффекта, так как это отключает редактирование, но предоставляет базовый html
при двойном щелчке по ячейке.
Как отключить эффект двойного щелчка для определенных столбцов?