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

Я пытаюсь создать таблицу в приложении 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
        )
    }
)

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

1 Ответ

0 голосов
/ 01 февраля 2019

Установите параметр server=FALSE:

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