Dynatree на событии показывает братьев и сестер или динамически изменяет данные

Можно ли динамически изменять данные, которые использует DynaTree?

У меня есть полный набор данных, относящихся к dynatree, но я хочу отобразить только определенную ветвь дерева, поэтому я перебираю данные, беру нужный узел и создаю дерево, это прекрасно работает.

То, что я хотел бы сделать, это иметь кнопку, которая делает братьев и сестер текущего узла видимыми. по сути, пользователь отвечает за один узел, который он видит по умолчанию, но он может видеть братьев и сестер текущего узла, если они тоже нуждаются.

Я могу перебрать данные и выбрать родительский узел и установить данные для родительского узла, но дерево не обновляется.

Я пробовал:

tree.reload();
tree.renderInvisibleNodes() 
tree.redraw();

и установка элемента для очистки и воссоздание дерева с новыми настройками

 $('#i2o-tree').empty();
 $('#i2o-tree').dynatree(new_settings);

1 ответ

Решение

Надеюсь, это поможет кому-то в будущем.

Так как dynatree - это плагин jQuery, если вам действительно нужно перезагрузить данные и заново отобразить дерево, которое вы вызываете, и вызвать jQuery-метод 'destroy':

 // destroy tree
 $("#i2o-tree").dynatree("destroy");

 // re-create tree with new settings/data
 setupTree(tree_data, false);
Другие вопросы по тегам