Как сохранить стиль строки, измененный событием обратного вызова при переключении между страницами таблицы в DT?

58
9

Я пытаюсь создать таблицу в приложении Shiny, в которой пользователь может выделить строки двойным щелчком мыши.

Вот мой код:

require(shiny)
require(DT)

js.highlight.func <- "table.on('dblclick','tr',function(){$(this).toggleClass('red')})"

shinyApp(
ui = fluidPage(
tags$head(
tags$style(HTML(".red { background-color: red !important; }"))
),
DTOutput('tbl')),
server = function(input, output) {
output$tbl = renderDT(
callback = JS(js.highlight.func),
iris
)
}
)

Моя проблема заключается в том, что он не остается выделенным, когда я выбираю другую страницу таблицы, а затем возвращаюсь назад.

спросил(а) 2019-01-22T19:25:00+03:00 1 год, 8 месяцев назад
1
Решение
90

Установите опцию server=FALSE:

  server = function(input, output) {
output$tbl = renderDT({
datatable(iris, callback = JS(js.highlight.func))
}, server = FALSE)
}

ответил(а) 2019-02-01T18:15:00+03:00 1 год, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема