You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 04:46:22