代码之家  ›  专栏  ›  技术社区  ›  rr.

ExtJS TreeLoader问题

  •  1
  • rr.  · 技术社区  · 14 年前

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

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

    是否有任何方法强制加载所有节点?最接近的方法是使用treeloader上的preloadChildren属性,但这仍然只在加载包含子节点的父节点时加载。

    1 回复  |  直到 14 年前
        1
  •  2
  •   ncardeli    14 年前

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

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

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

    }