ExtJS TreeLoader问题

时间:2010-09-30 20:10:17

标签: javascript extjs treepanel

我对ExtJS不太熟悉,但正在开发一个使用它的项目。

我们正在使用TreePanel和TreeLoader,它在一次调用中从服务器加载所有节点数据。我们有一个事件,我需要访问树中每个节点的属性。我这样做的方式是使用TreePanel的getNodeById方法。问题是树面板似乎懒得加载节点,除非已经加载了节点,否则将无法使用getNodeById检索节点。

有没有办法强制加载所有节点?我最接近的是使用TreeLoader上的preloadChildren属性,但这仍然只在加载包含子节点的父节点时加载。

1 个答案:

答案 0 :(得分:2)

如果您希望能够访问所有节点,则必须在第一次调用时加载完整的树结构。

第一次调用时的JSON响应应该包括所有树节点。例如:

[{
    id: 1,
    text: 'A leaf Node',
    leaf: true
},{
    id: 2,
    text: 'A folder Node',
    children: [{
        id: 3,
        text: 'A child Node',
        leaf: true
    }]

}]