簡體   English   中英

閃亮模塊中的 DT::replaceData 行為

[英]DT::replaceData behavior in shiny modules

我無法讓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)

確認從 GitHub 升級到 DT '0.5.2' 確實解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM