Как запустить рендеринг JQuery treeview

Я использую плагин дерева jquery для визуализации иерархических данных.

Я закодировал дополнительные функции, которые позволят пользователю взаимодействовать с этими данными (например, добавление / удаление узлов, замена узлов и т. д.)

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

$("#browser").treeview({
     add: branches
});

здесь branches - это jQuery object, созданный с помощью блока HTML, который будет представлять конкретный узел.

Однако для удаления и замены узлов я использую общие функции JQuery, такие как,

для удаления,

$("#topnd2").remove();

для обмена,

var next = $("#topnd2").next();
$("#topnd2").insertAfter(next);

topnd2 - это id любого конкретного узла дерева.

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

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

Я пытался вызвать

$("#browser").treeview();

Пожалуйста, дайте мне знать ваши идеи.

Спасибо, Джатан

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
5 307
2

Ответы 2

Я нашел обходной путь, как указано ниже,

После замены узла виртуально добавьте предыдущий узел к его дочернему элементу,

$ ("# браузер"). treeview ({add: $ ("# topnd2"). insertBefore (предыдущий) .next ()});

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

$ ("# браузер"). treeview ({add: $ ("# topnd2"). insertAfter (next)});

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

С уважением, Джатан

Если вы попытаетесь снова обновить древовидное представление после удаления узла, ссылка будет работать, но не значок [+] или [-]. Пробовал в нескольких браузерах ..

Другие вопросы по теме