Поведение DT :: replaceData в блестящих модулях - PullRequest
0 голосов
/ 01 марта 2019

У меня проблемы с получением DT::replaceData для работы в модуле.На странице rstudio / DT GitHub выпуск 359 говорится об исправлении, которое было реализовано после DT_0.2.6.

Однако, когда я пытаюсь реализовать этот код, я не вижу таблицу, перерисованную какожидается.Ниже приведен пример, который я немного перебрал со страницы GitHub, чтобы (1) обрезать размер данных и (2) добавить функцию сообщения, чтобы я мог подтвердить, что проблема не в реактивном loopData(), а впозвоните по номеру DT::replaceData()

Мое чтение предполагает, что эта проблема должна быть исправленаВ случае, если это проблема с моей зависимостью, я также включил вывод из devtools::session_info()

Сначала код.

library(shiny)
library(DT)

modUI <- function(id) {
  ns <- NS(id)
  fluidPage(
    fluidRow(
      column(2, actionButton(ns('refresh'), 'Refresh Data', icon = icon('refresh'))),
      column(10, DT::dataTableOutput(ns('foo')))
    )
  )
}

modServer <- function(input, output, session) {
  df = iris[1:10, ]
  n = nrow(df)
  df$ID = seq_len(n)

  loopData = reactive({
    input$refresh
    df$ID <<- c(df$ID[n], df$ID[-n])
    df
  })

  output$foo = DT::renderDataTable(isolate(loopData()))

  proxy = dataTableProxy('foo')

  observe({
    message(head(loopData(),1))
    replaceData(proxy, loopData(), resetPaging = FALSE)
  })
}

shinyApp(
  ui = modUI('module'),
  server = function(input, output, session) callModule(modServer, 'module')
)

Информация о моем сеансе

Session info ---------------------------------------------------------------------------------------
 setting  value                       
 version  R version 3.4.0 (2017-04-21)
 system   x86_64, mingw32             
 ui       RStudio (1.1.456)           
 language (EN)                        
 collate  English_United States.1252  
 tz       America/New_York            
 date     2019-03-01                  

Packages -------------------------------------------------------------------------------------------
 package     * version date       source        
 base        * 3.4.0   2017-04-21 local         
 compiler      3.4.0   2017-04-21 local         
 crosstalk     1.0.0   2016-12-21 CRAN (R 3.4.4)
 datasets    * 3.4.0   2017-04-21 local         
 devtools      1.13.6  2018-06-27 CRAN (R 3.4.4)
 digest        0.6.16  2018-08-22 CRAN (R 3.4.4)
 DT          * 0.5     2018-11-05 CRAN (R 3.4.4)
 graphics    * 3.4.0   2017-04-21 local         
 grDevices   * 3.4.0   2017-04-21 local         
 htmltools     0.3.6   2017-04-28 CRAN (R 3.4.4)
 htmlwidgets   1.3     2018-09-30 CRAN (R 3.4.4)
 httpuv        1.4.5   2018-07-19 CRAN (R 3.4.4)
 jsonlite      1.5     2017-06-01 CRAN (R 3.4.4)
 later         0.7.5   2018-09-18 CRAN (R 3.4.4)
 magrittr      1.5     2014-11-22 CRAN (R 3.4.4)
 memoise       1.1.0   2017-04-21 CRAN (R 3.4.4)
 methods     * 3.4.0   2017-04-21 local         
 mime          0.5     2016-07-07 CRAN (R 3.4.1)
 promises      1.0.1   2018-04-13 CRAN (R 3.4.4)
 R6            2.2.2   2017-06-17 CRAN (R 3.4.4)
 Rcpp          1.0.0   2018-11-07 CRAN (R 3.4.4)
 rlang         0.3.1   2019-01-08 CRAN (R 3.4.4)
 shiny       * 1.1.0   2018-05-17 CRAN (R 3.4.0)
 stats       * 3.4.0   2017-04-21 local         
 tools         3.4.0   2017-04-21 local         
 utils       * 3.4.0   2017-04-21 local         
 withr         2.1.2   2018-03-15 CRAN (R 3.4.4)
 xtable        1.8-3   2018-08-29 CRAN (R 3.4.4)
 yaml          2.2.0   2018-07-25 CRAN (R 3.4.4)

1 Ответ

0 голосов
/ 25 марта 2019

Подтверждено, что обновление до DT '0.5.2' из GitHub действительно решает эту проблему.

...