我无法让DT::replaceData
在模块中工作。在rstudio / DT GitHub页面issue 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)
答案 0 :(得分:1)
确认从GitHub升级到DT'0.5.2'确实可以解决此问题。