2017-09-15 252 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秒)。我猜爲什麼這樣工作,是因爲樹視圖方法調用在完全「初始化」(即完全呈現)之前不能使用樹視圖。