1

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

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

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

4

1 回答 1

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
    }]

}]

于 2010-09-30T20:23:39.140 回答