使用jsTreeR的grid参数时init.ts报错的根因及正确实现问询
jsTreeR 结合 Shiny 使用网格布局时窗口缩放报错问题
问题背景
我已在相关代码仓库提交该问题,目前已有临时解决方法,但尚未明确问题的根本原因。
复现现象
使用CRAN最新版的shiny和jsTreeR(版本2.5.0)运行下方示例应用时,调整浏览器窗口大小后,浏览器控制台会出现错误:
该错误仅在调用jstree函数时传入grid参数的情况下出现。
示例应用代码
library(jsTreeR) library(shiny) nodes <- list( list( text = "Fruits", type = "fruit", children = list( list( text = "Apple", type = "fruit", data = list( quantity = 20 ) ), list( text = "Banana", type = "fruit", data = list( quantity = 31 ) ), list( text = "Grapes", type = "fruit", data = list( quantity = 34 ) ) ), state = list( opened = TRUE ) ) ) grid <- list( columns = list( list( width = 200, header = "Product" ), list( width = 150, value = "quantity", header = "Quantity" ) ) ) ui <- fluidPage( titlePanel("jsTree grid"), jstreeOutput("jstree") ) server <- function(input, output, session){ output$jstree <- renderJstree(jstree(nodes, search = TRUE, grid = grid)) } shinyApp(ui, server)
已定位的诱因
经排查发现,页面中的jstree-grid-wrapper容器div被自动添加了shiny-bound-output类是引发错误的原因,手动移除该类即可避免报错。
疑问
shiny-bound-output类被自动添加的原因是什么?- 是否存在正确实现
grid参数的方式,能够从根源上规避这个问题?
内容的提问来源于stack exchange,提问作者ismirsehregal
相关产品推荐
相关产品推荐

