Jstree `open_node` не работает синхронно на дочерних узлах - PullRequest
0 голосов
/ 25 февраля 2019

Следующий код инициализирует плагин jstree с данными, которые обновляются посредством вызова ajax.

var jstree_obj = 
$('#jstree_obj').jstree({
    'core' : {
        'data' : {
                "url" : function (node) {
                    return node.id == '#' ? baseurl + "/query" : baseurl + "/query/"+node.id;
                }
            }
        }
});

Следующая функция запускается при нажатии кнопки, которая возвращает массив иерархических элементов.[child-P, child-P.child-Q, child-P.child-Q.child-R and so on..].

$('button#btnAdd').click(() => {
    $.ajax({
        url: ajax_url,
        type: 'POST',
        dataType: 'JSON',
    }).done((data) => {
        $.each(data, (k, id) => {
            me(id);
        })
    });
})

Для каждого дочернего элемента мне нужно развернуть его узел так, чтобы дочерние узлы были видны для следующего вызова функции.

async function me(id) {
  await jstree_obj.jstree().open_node(id);
}

Вывод

В пользовательском интерфейсе jstree раскрывается только первый дочерний узел (child-P).Остальные дочерние узлы не раскрываются.Что мне здесь не хватает?

...