example ejemplos jstree

ejemplos - Cómo actualizar los valores del nodo jstree sin recargar



jstree options (5)

Tengo un jstree que creé con el siguiente código:

$(''#mytree'').jstree({"core": { "data" : value , "themes" : { "dots": false , "icons": false } } } );

Puedo reconstruirlo con nuevos datos por este código:

$(''#mytree'').jstree(true).settings.core.data = new_data; $(''#mytree'').jstree(true).refresh();

pero puede ser costoso cuando tienes muchos nodos. Lo que me gustaría lograr es que me gustaría actualizar el valor de los elementos (es decir, la parte node.text ) sin reconstruir todo el árbol. Obtengo los nuevos valores a través de websocket en un mensaje (la cadena JSON completa que será el new_data ) pero la estructura no está cambiando. ¿Cómo puedo hacer eso? ¡Gracias!


$ (''# mytree''). jstree (true) .refresh (); está funcionando, pero en mi caso provoca una pérdida de hilo. cada actualización agrega un hilo más


Cargo datos a través de una url, por lo que mi parte de actualización se ve así:

$(''#groupTree'').jstree(true).settings.core.data.url = get_group_url();


Lo que necesita no es refresh() sino redraw() tanto, el código es

$(''#mytree'').jstree(true).settings.core.data = new_data; $(''#mytree'').jstree(true).redraw(true);

Puedes encontrar las funciones en la API de jstree .

Según la sugerencia de zmirc, en v3.1 use:

$(''#mytree'').jstree(true).settings.core.data = new_data; $(''#mytree'').jstree(true).refresh();


Puede actualizar el nodo por este

$(''#treeView'').jstree(true).refresh_node("node_id_here")


para borrar el nodo y recargar árbol

$(''#mytree'').jstree(true).refresh();

Para aquellos que necesitan volver a dibujar sin reiniciar el uso del árbol.

jQuery(''#data'').jstree(true).refresh(true);