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)