1

我收到此错误:TypeError: records[i] is undefined

我从我的数据库中获取我的 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”。显示所有子方。但是当我单击下一个节点时,会出现错误。

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

4

1 回答 1

1

问题是相同的叶子(具有相同的 id)出现在多个分支中。ExtJS 树不处理那个。要么不带 id,要么将 id 自定义为在整个树中是唯一的。

于 2013-05-13T19:03:03.947 回答