【问题标题】:Kendo treeview gives stack overflow error剑道树视图给出堆栈溢出错误
【发布时间】:2025-11-21 23:20:04
【问题描述】:

我正在使用带有分层数据源的剑道树视图,该数据源从远程调用中获取数据。我正在扩展树的所有节点。现在对于更大的数据源(比如 70 多个节点),递归发生了太多。有什么办法可以克服吗?

【问题讨论】:

  • 70 个节点是一棵很小的树,应该没有问题。你确定你实际上返回了大约 70 个节点吗?
  • 我创建了一个示例,其中包含 100 个节点,并且工作正常,请通过此链接 jsfiddle.net/GHdwR/123
  • 您好,我有同样的感觉,它不是太大,但我仍然在 IE8 中遇到堆栈溢出错误。对于 Firefox,它不显示 stackover 流,但是如果您在 firebug 中检查,它会显示太多递归错误。仅当我在加载时扩展所有节点时才会出现此问题。我在树的数据绑定事件中添加了 .expand(".k-ite")。

标签: kendo-ui kendo-treeview


【解决方案1】:

通过在 .expand(".k-item") 中添加超时来解决问题。看起来像旧浏览器中的时间问题。感谢我的一位同事指出这一点。

dataBound: function () {
                    setTimeout(function () { thiz.kendoTree.expand(".k-item"); }, 20);
                }

超时值取决于浏览器。现在这不是最好的解决方案,但至少可以解决。

【讨论】: