Extjs4:无法显示所有树节点 - > TypeError:records [i]未定义

时间:2013-05-03 09:25:31

标签: json tree extjs4

我收到此错误:TypeError:records [i]未定义

我从我的数据库中获取了json。我编码为json的数组看起来像这样:

array(
['data'] =>
array(

[0] =>
    array(

['id'] =>
    1
['text'] =>
    'COUNTRY1'
['leaf'] =>
    ['children'] =>
    array(

[0] =>
    array(

['id'] =>
    'HF'
['text'] =>
    'HF'
['leaf'] =>
)
[1] =>
    array(

['id'] =>
    'TF'
['text'] =>
    'TF'
['leaf'] =>
)
[2] =>
    array(

['id'] =>
    'SF'
['text'] =>
    'SF'
['leaf'] =>
)
)
)
[1] =>
    array(

['id'] =>
    2
['text'] =>
    'COUNTRY2'
['leaf'] =>
    ['children'] =>
    array(

[0] =>
    array(

['id'] =>
    'HF'
['text'] =>
    'HF'
['leaf'] =>
)
[1] =>
    array(

['id'] =>
    'TF'
['text'] =>
    'TF'
['leaf'] =>
)
[2] =>
    array(

['id'] =>
    'SF'
['text'] =>
    'SF'
['leaf'] =>
)
[3] =>
    array(

['id'] =>
    'SP'
['text'] =>
    'SP'
['leaf'] =>
)
)
)

我的商店看起来像这样:

Ext.define('AM.store.Trees', {
extend: 'Ext.data.TreeStore',
model: "Tree",
autoLoad: true,
proxy: {
    type: 'ajax',
    url : 'data/ajax.tree.php',
    extraParams:{
        action:'getTree'
    },
    actionMethods: {
        create : 'POST',
        read   : 'POST',
        update : 'POST',
        destroy: 'POST'
    },
    reader: {
        type: 'json',
        root: 'data'
    }
}
});

我只能打开第一个节点“COUNTRY1”。所有的分包都显示出来了。但是当我点击下一个节点时,会出现错误。

为什么我会收到此错误消息?有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

问题是同一个叶子(具有相同的id)显示在多个分支中。 ExtJS树不处理。或者不带id或自定义id在整个树中是唯一的。