2017-09-15 253 views
1

我在Unify模板中使用Bootstrap Treeview。我收到以下错误:无法调用方法错误 - Bootstrap Treeview

bootstrap-treeview.js:1212 Not initialized, can not call method : 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

回答

0

我今天故障排除了同样的错误,但通过调用不同的方法:collapseAll;在引导树视图插件上。

直到我申请类似如下的按预期表现的树状方法:

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

我叫上面的只是后,我建立一个Ajax调用内最初的树视图。换句话说,我在相同的ajax成功函数中运行了两次treeview函数。

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

第二次在树视图上运行一个方法(但延迟1秒)。我猜为什么这样工作,是因为树视图方法调用在完全“初始化”(即完全呈现)之前不能使用树视图。