我有一个用以下代码创建的jstree:
$('#mytree').jstree({"core": { "data" : value
, "themes" : { "dots": false
, "icons": false }
}
}
);
Run Code Online (Sandbox Code Playgroud)
我可以通过以下代码使用新数据重建它:
$('#mytree').jstree(true).settings.core.data = new_data;
$('#mytree').jstree(true).refresh();
Run Code Online (Sandbox Code Playgroud)
但是当你拥有大量节点时它会很昂贵.我想要实现的是,我想更新元素的值(即node.text部分)而不重建整个树.我通过一个消息中的websocket获取新值(完整的JSON字符串,new_data但结构不会改变).我怎样才能做到这一点?谢谢!
Gab*_*ros 22
你需要的不是,refresh()而是redraw()代码
$('#mytree').jstree(true).settings.core.data = new_data;
$('#mytree').jstree(true).redraw(true);
Run Code Online (Sandbox Code Playgroud)
您可以在jstree API中找到这些函数.
根据zmirc的建议,在v3.1中使用:
$('#mytree').jstree(true).settings.core.data = new_data;
$('#mytree').jstree(true).refresh();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30696 次 |
| 最近记录: |