Используя jstree v3 у меня есть
this.elements.$tree.jstree({
core: {
data: function (node, successCallback) {
// Handle node expansion
thisTmp._expandNode(node, successCallback);
},
...
Это нормально работает, когда я впервые открываю узел и перехожу на свой сервер, чтобы получить дочерние узлы. Если я затем закрою узел, он также будет вызван, и я бы не хотел беспокоить сервер в этот момент. Кроме того, если я снова открою узел, эта функция вообще не вызывается.
Расследование Я заметил, что пройденный узел всегда имеет состояние loading: true
со всеми остальными, установленными в ложь.
Дальнейшие исследования показывают, что эта функция вызывается до события before_open.jstree
и после события after_close.jstree
. Это, вероятно, объясняет состояние узла, но мне не помогает.
Мне нужно, чтобы он вызывал веб-сервер каждый раз, когда я открываю узел, потому что элементы, представленные дочерними узлами, могли измениться с момента последнего просмотра. То есть может быть больше / разных / меньше узлов.
Потратил все утро на это и не вижу, что я делаю неправильно (или должен поступить иначе). Есть идеи?
Спасибо