2014-01-12 3 views
0

Я собирался создать компонент на основе fancytree jquery, но глубина папки застревает в 3 независимо от того, что я делаю с исходными данными. Есть ли какая-то особенность Tree Option, которую я не смог определить, которая предотвратит ограничение?fancytree глубина папки ограничена - есть ли опция

Заранее спасибо. Кевин

кода я использую был:

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> 
    <title>Fancytree - Example</title> 
    <script src="../lib/jquery.js" type="text/javascript"></script> 
    <script src="../lib/jquery-ui.custom.js" type="text/javascript"></script> 
    <link href="../src/skin-xp/ui.fancytree.css" rel="stylesheet" type="text/css"> 
    <script src="../src/jquery.fancytree.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
    var DT = $.ui.fancytree; 
    $.ui.fancytree.debug("Using fancytree " + $.ui.fancytree.version); 
    $("#foldertree").fancytree({ 
    source: { 
    url: "data.json" 
    }, 
    lazyload: function(e, data){ 

    data.result = $.ajax({ 
     url: "data.json", 
     dataType: "json" 
    }); 
    } 
    }); 
// call methods on multiple instances 
$("div:ui-fancytree").fancytree("foo", "after init"); 
}); 
</script> 
</head> 
<body class="example"> 
<div id="foldertree" data-source="ajax" class=""> 
</div> 
    <!-- (Irrelevant source removed.) --> 
    </body> 
</html> 

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

[ 
{"key": "top", "title": "Products", "folder": true, "children": [ 
    {"key": "under1", "title": "A-E", "folder": true, "children": [ 
     {"key": "under2", "title": "Parts 0-9", "folder": true ,   "children:": [ 
       {"key": "under3", "title": "F-M", "folder": true, "children": [ 
        {"key": "under4", "title": "F-M", "folder": true, "children": [ 
         {"key": "under5", "title": "F-M", "folder": true, "children": [ 
          {"key": "under6", "title": "F-M", "folder": true, "children": [ 

         ]} 
        ]} 
       ]} 
      ]} 
     ]} 
    ]} 
]}, 
{"key": "11", "title": "Samples", "folder": true, "children": [ 
    {"key": "20", "title": "FG and H", "folder": true, "children": [ 
     {"key": "30", "title": "Parts 0-9", "folder": true , "children:": [ 
       {"key": "40", "title": "F-M", "folder": true, "children": [ 
        {"key": "42", "title": "Sub-item 1.3.1", "folder": true, "children": [ 
         {"key": "43", "title": "Sub-item 1.3.2"} 
        ]}, 
        {"key": "44_1", "title": "Sub-item 1.3.2"} 
      ]} 
     ]} 
    ]} 
]} 
] 

ответ

0

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

[ 
{"title": "Item 1"}, 
{"title": "Folder 2", "isFolder": true, "key": "folder2", "expand": true, 
    "children": [ 
     {"title": "Sub-item 2.1", 
      "children": [ 
         {"title": "Sub-item 2.1.1", 
          "children": [ 
             {"title": "Sub-item 2.1.1.1", 
             "children": [ 
             {"title": "Sub-item 2.1.1.1.1"}, 
             {"title": "Sub-item 2.1.1.2.2"}, 
             {"title": "Sub-item 2.1.1.1.3"}, 
             {"title": "Sub-item 2.1.1.2.4"} 
            ] 

             }, 
             {"title": "Sub-item 2.1.2.2"}, 
             {"title": "Sub-item 2.1.1.3"}, 
             {"title": "Sub-item 2.1.2.4"} 
            ] 
          }, 
         {"title": "Sub-item 2.1.2"}, 
         {"title": "Sub-item 2.1.3"}, 
         {"title": "Sub-item 2.1.4"} 
        ] 
      }, 
     {"title": "Sub-item 2.2"}, 
     {"title": "Sub-item 2.3 (lazy)", "isLazy": true } 
    ] 
}, 
{"title": "Folder 3", "isFolder": true, "key": "folder3", 
    "children": [ 
     {"title": "Sub-item 3.1", 
      "children": [ 
         {"title": "Sub-item 3.1.1"}, 
         {"title": "Sub-item 3.1.2"}, 
         {"title": "Sub-item 3.1.3"}, 
         {"title": "Sub-item 3.1.4"} 
        ] 
      }, 
     {"title": "Sub-item 3.2"}, 
     {"title": "Sub-item 3.3"}, 
     {"title": "Sub-item 3.4"} 
    ] 
}, 
{"title": "Lazy Folder 4", "isFolder": true, "isLazy": true, "key": "folder4"}, 
{"title": "Item 5"} 

]

0

Я использую Fancytree для загрузки больших объемов данных (около 23 Мб) тоже, и она отлично работает с более чем 3 глубины. Одна вещь, которую я заметил из вашего примера и данных, заключается в том, что вы используете параметр lazyload, но не все ваши данные имеют isLazy = true. Попробуй!

Также вы можете проверить, бросает ли дерево ошибки при ленивой загрузке данных. F12 в вашем браузере.