2

我正在尝试遍历树面板中的所有节点。问题是,如果我在调用之前不展开节点node.eachChild(),则该节点认为它没有任何子节点。(即使是这样)

如果您查看我的 jsfiddle,单击 Traverse 按钮​​而不展开任何节点,它只会显示根节点 + 它的三个子节点。现在,如果您返回并展开所有子节点,请关闭它们,然后再次单击该按钮,它会显示所有节点。

http://jsfiddle.net/sQ97F/

如何让我的树面板加载所有子节点,以便它在 onReady 之后立即通过所有子节点?

注意:我也不希望在 onLoad() 中扩展节点,因此将其修改为使用 tree.getRootNode().expand() 不是一个好的解决方案。

4

1 回答 1

1

loader: new Ext.tree.TreeLoader({ preloadChildren: true })添加到 TreePanel 配置应该可以工作。

new Ext.tree.TreePanel({
    renderTo: Ext.getBody(),

    loader: new Ext.tree.TreeLoader({ preloadChildren: true }), //New Config


    id: 'mainTree',
    title: 'Packages',
    useArrows: true,
    autoScroll: true,
    containerScroll: true,
    frame: true,
    rootVisible: false,
    root: rootNode,
    buttons: [traverse]
});
于 2013-08-22T20:35:21.443 回答