2017-09-15 20 views
1

私はUnifyテンプレートでブートストラップツリービューを使用しています。私は木の膨張状態を保持するために、ページの更新にプログラムでノードを展開しようとすると、メソッドエラーを呼び出せません - ブートストラップツリービュー

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呼び出し内部の最初にツリービューAFTER上記と呼ばれる:私は期待通りに振る舞っツリービューの方法があること、次のようなものを適用するまで

はそうではありませんでした。言い換えれば、同じAjaxの成功関数内でtreeview関数を2回実行します。

一度ツリービュー設定を適用すると、データビューとワイヤアップイベントがツリービューに表示されます。

また、ツリービュー上でメソッドを実行するには2回目です(ただし、1秒の遅延があります)。これがなぜこのように動作するのかというと、treeviewメソッド呼び出しは、完全に "初期化"される(つまり、完全にレンダリングされる)までツリービューに従えないということです。

関連する問題