Ошибка при использовании loadKeyPath Необычного дерева

Я использую FancyTree 2.6.0. Дерево работает очень хорошо по большей части, за исключением случаев, когда я хочу перейти к конкретному ленивому узлу, используя функцию loadKeyPath. Я получаю следующую ошибку:

Error: Fancytree assertion failed   
...,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFuncti...
jquery....11.1.js (line 2, col 1808)

Я использую следующий код для перехода к ключевому пути.

tree.loadKeyPath(treePath, function(node, status)
{
    console.log("Node ["+node.title+"] status ["+status+"]");
    node.data.shouldPromptForFilter=false;
    if (status == "loading")
        node.data.shouldPromptForFilter=false;
    else if (status == "loaded")
    {
        console.log("intermediate node " + node);
        node.setExpanded(true);
    }
    else if (status == "ok")
        node.setActive(true);
});

Он расширяет уже загруженные узлы, но я получаю ошибку, когда приходится загружать ленивые узлы. Данные, полученные с сервера, выглядят так. Ошибка возникает после получения данных.

[{"isRoot":"false","lazy":false,"tooltip":"evil-kirk.goldenrod.trek.dms.","childCount":"0","isElipsis":"false","shouldPromptForFilter":"true","title":"evil-kirk.goldenrod.trek.dms.","key":"e4d17462-64c2-4215-9097-7f91480f8c0c","status":"0"}]

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

Любая помощь будет оценена.

Спасибо

1 ответ

ОК, я решил проблему, переместив вызов функции setExpanded().

tree.loadKeyPath(treePath, function(node, status)
{
    console.log("Node ["+node.title+"] status ["+status+"]");
    if (status == "loading")
        node.data.shouldPromptForFilter=false;
    else if (status == "loaded")
    {
        console.log("intermediate node " + node);
    }
    else if (status == "ok")
    {
        node.setExpanded(true);
        node.setActive(true);

});
Другие вопросы по тегам