1

我在统一模板中使用 Bootstrap Treeview。我收到以下错误:

bootstrap-treeview.js:1212 未初始化,无法调用方法:expandNode

当我尝试在页面刷新时以编程方式扩展节点以保留树的扩展状态时。

 if (document.location.href.indexOf(hash) > -1) {


            var nodeId = $.cookie('activeAccordionGroup');

            if (nodeId != null) {
                $('#tree').treeview('expandNode', [nodeId ]);
            }
        }

我在上面的代码中从选择节点时创建的 cookie 中获取 nodeId。对于以下链接中解释的所有方法,我都收到相同的错误:

https://github.com/jonmiles/bootstrap-treeview#methods

4

1 回答 1

1

我今天正在解决同样的错误,但通过调用不同的方法:collapseAll;在引导树视图插件上。

直到我应用了类似以下的东西,treeview 方法才按预期运行:

setTimeout(function() {
  $("#tree").treeview("collapseAll", { silent: true })
 }, 1000);

在我最初在 ajax 调用中设置树视图之后,我调用了上述内容。换句话说,我在同一个 ajax 成功函数中运行了两次 treeview 函数。

一旦应用树视图设置,用数据和连线事件填充树视图;

并且第二次在树视图上运行一个方法(但有 1 秒的延迟)。我猜为什么会以这种方式工作,是树视图方法调用在树视图完全“初始化”(即完全渲染)之前不能参与树视图。

于 2017-09-27T23:20:36.797 回答