Extjs 从后面填充treeview,而不是孩子

Extjs 从后面填充treeview,而不是孩子,extjs,recursion,tree,treeview,Extjs,Recursion,Tree,Treeview,在以下函数中,我只获取父对象,而不是其子对象(或孙子对象): function nest(n) { for(var i=0;i<n.attributes.length;i++){ var item = n.attributes[i]; root.appendChild(item.data); } } nest(me); 函数嵌套(n) { 对于(var i=0;i,如果在你的问题中没有明确解释你目前拥有什么以及你真正想要什么,我就试一试

在以下函数中,我只获取父对象,而不是其子对象(或孙子对象):

function nest(n)
{
    for(var i=0;i<n.attributes.length;i++){
        var item = n.attributes[i];
        root.appendChild(item.data);
    }
}

nest(me);
函数嵌套(n)
{

对于(var i=0;i,如果在你的问题中没有明确解释你目前拥有什么以及你真正想要什么,我就试一试

看起来您想填充一些树结构,但只得到一些顶级节点。这是有意义的,因为您总是调用
root.appendChild
,所以总是向根节点添加内容

我对您的示例递归调用
root.appendChild(nest(item.data))
感到困惑。您的
nest
函数不返回任何内容,因此将其作为参数传递给
appendChild
没有任何用处

您可能应该将函数设计为同时接受当前基本节点(您将向其中添加下一级子节点)和将由这些节点表示的对象集合作为参数。根据您的数据结构,这类似于:

function nest(base, items) {
    for (var i=0; i<items.length; i++) {
        var item = items[i];
        var new_child = base.appendChild(item.data);
        nest(new_child, item.children);
    }
}
函数嵌套(基本、项){

对于(var i=0;我可以发布一个包含数据集和演示的JSFIDLE吗?