Ошибка при использовании 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);
});