微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-ExtJS:如何将子节点动态添加到treepanel

如何使用JavaScript以编程方式将子节点添加到现有的TreePanel?

我有一个TreePanel,用于显示地图的活动图层(使用GeoExt):

treeConfig = new OpenLayers.Format.JSON().write([{
    nodeType: "gx_baselayercontainer",
    text: "Base layers",
    expanded: true
    }, {
    nodeType: "gx_overlaylayercontainer",
    text: "Overlays",
    expanded: true,
    loader: {
        baseAttrs: {
            radioGroup: "foo",
            uiProvider: "use_radio"
        }
    }
}], true);

treePanel = new Ext.tree.TreePanel({
    id: 'mainpanel',
    border: true,
    region: "west",
    title: "Map layers",
    width: 200,
    split: true,
    collapsible: true,
    margins: '0 0 5 5',
    collapseMode: "mini",
    autoScroll: true,
    loader: new Ext.tree.TreeLoader({
        applyLoader: false,
        uiProviders: {
            "use_radio": LayerNodeUI
        }
    }),
    root: {
        nodeType: "async",
        children: Ext.decode(treeConfig)
    },
    listeners: {
        "radiochange": function(node){
            alert(node.layer.name + " is Now the the active layer.");
        }
    },
    rootVisible: false,
    lines: false
});

用户应该能够通过按下按钮来添加覆盖层,但是我似乎找不到任何有关如何完成此操作的示例.

有任何想法吗?

解决方法:

getNodeByIdgetRootNode抓住父节点,并用appendChild添加子节点.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐