代码之家  ›  专栏  ›  技术社区  ›  thothal

闪亮模式中的handsontable无法正确呈现

  •  1
  • thothal  · 技术社区  · 6 年前

    问题

    在我的代码中,我想显示 rhandsontable 在一个 modal . 当我第一次显示模态时,表被很好地呈现出来。但是,当我关闭模式并重新打开它(不更改基础数据)时,我只看到表的一部分。只有在我点击了表之后,它才能再次正确渲染。如果在重新打开模式之前数据发生了更改,则表将再次很好地呈现。

    问题

    我怎样才能避免呢?有没有 javascript 我可以打电话来强制 handsontable 重新渲染为解决方案?

    雷普雷克斯

    library(shiny)
    library(rhandsontable)
    
    ui <- fluidPage(actionButton("show", "show"), 
                    actionButton("change", "Change"))
    
    server <- function(input, output, session) {
      dat <- reactiveVal(data.frame(x = runif(2), 
                                    y = runif(2)))
    
      observeEvent(input$show, {
        showModal(modalDialog(rHandsontableOutput("hot")))
      })
    
      observeEvent(input$change, dat(data.frame(x = runif(2), 
                                                y = runif(2))))
    
      output$hot <- renderRHandsontable(rhandsontable(dat()))
    }
    

    如何再现错误

    1. 打开并关闭模式
    2. 重新打开模式,您将看到它没有正确呈现
    3. 再次关闭并刷新数据
    4. 重新打开模式并再次正确呈现

    屏幕截图

    handsontable rendered properly handsontable not rendered properly

    环境

    R version 3.5.0 (2018-04-23)
    Platform: i386-w64-mingw32/i386 (32-bit)
    Running under: Windows 7 (build 7601) Service Pack 1
    
    Matrix products: default
    
    locale:
    [1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252   
    [3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C                   
    [5] LC_TIME=German_Germany.1252    
    
    attached base packages:
    [1] stats     graphics  grDevices utils     datasets  methods   base     
    
    other attached packages:
    [1] shiny_1.1.0         rhandsontable_0.3.6
    
    loaded via a namespace (and not attached):
     [1] Rcpp_0.12.17    digest_0.6.15   later_0.7.2     mime_0.5       
     [5] R6_2.2.2        xtable_1.8-2    jsonlite_1.5    magrittr_1.5   
     [9] rlang_0.2.1     promises_1.0.1  tools_3.5.0     htmlwidgets_1.2
    [13] httpuv_1.4.3    yaml_2.1.19     compiler_3.5.0  htmltools_0.3.6
    

    浏览器测试:Chrome版本69.0.3497.100,IE 11

    0 回复  |  直到 6 年前