example ejemplos data bootstrap jquery jstree

jquery - ejemplos - ¿Cómo volver a dibujar jstree tree con nuevos datos?



tree jquery bootstrap (3)

En la versión 3 puedes recargar el árbol:

$(''#treeId'').jstree(true).settings.core.data = newData; $(''#treeId'').jstree(true).refresh();

Entonces, mi pregunta. Inicialicé mi árbol con algunos datos:

$(''#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''] } ] });

Pero después de algunas acciones, quiero volver a dibujar el árbol con nuevos datos. Intento usar los métodos de actualización y redibujado desde la API, pero sin éxito.

¿Me puede dar consejos sobre cómo actualizar el árbol (sin destruir -> crear una nueva instancia (funciona, pero afectará el rendimiento))?


Intente incluir el parámetro check_callback en la configuración de su núcleo (incluida la carga inicial) y asegúrese de que esté configurado en verdadero. Entonces deberías poder ver los cambios realizados. Sin esto, he encontrado que no estoy viendo los datos de reemplazo, solo los datos originales.

$(''#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''] } ] });

Eso manejó la parte de actualización para mí, pero dependiendo de lo que estés haciendo, también podrías llamar a $(''#tree'').jstree(''refresh''); .


refresh() actualizará el árbol a su estado inicial, lo que significa que los nodos recién creados se eliminarán

Lo que quieres es redraw(true)