それで、私の質問。私はいくつかのデータでツリーを初期化しました:
$('#tree').jstree({
'core' : {
'data' : [
'Simple root node',
{
'id' : 'node_2',
'text' : 'Root node with options',
'state' : { 'opened' : true, 'selected' : true },
'children' : [ { 'text' : 'Child 1' }, 'Child 2']
}
]
});
しかし、いくつかのアクションの後、新しいデータでツリーを再描画したいと思います。 APIのrefreshおよびredrawメソッドを使用しようとしましたが、失敗しました。
ツリーを更新する方法を教えてもらえますか?
バージョン3では、ツリーをリロードできます。
$('#treeId').jstree(true).settings.core.data = newData;
$('#treeId').jstree(true).refresh();
refresh()
はツリーを初期状態に更新します。つまり、新しく作成されたノードは削除されます
欲しいのはredraw(true)
です
コア設定にcheck_callbackパラメーターを含めて(初期ロードを含む)、trueに設定されていることを確認してください。その後、変更内容を確認できるはずです。これがないと、置換データは表示されず、元のデータだけが表示されます。
_$('#tree').jstree({
'core' : {
'check_callback' : true,
'data' : [
'Simple root node',
{
'id' : 'node_2',
'text' : 'Root node with options',
'state' : { 'opened' : true, 'selected' : true },
'children' : [ { 'text' : 'Child 1' }, 'Child 2']
}
]
});
_
それは私のためにリフレッシュ部分を処理しましたが、あなたがしていることに応じて、あなたは$('#tree').jstree('refresh');
を呼び出すこともできます。