Extjs树不会将theChild附加到树面板中的选定节点

时间:2014-10-11 22:26:14

标签: extjs treepanel

我有一个树状面板,我正在尝试添加一个下面的选定项目。

http://jsfiddle.net/zer8oLo7/

如果您点击"添加到根",它正在运行 但。如果你点击"添加到选定的",它不起作用:

Ext.application({
    name: 'Fiddle',

    launch: function () {
        var store = Ext.create('Ext.data.TreeStore', {
            root: {
                expanded: true,
                children: [{
                    text: "detention",
                    leaf: true
                }, {
                    text: "homework",
                    expanded: true,
                    children: [{
                        text: "book report",
                        leaf: true
                    }, {
                        text: "algebra",
                        leaf: true
                    }]
                }, {
                    text: "buy lottery tickets",
                    leaf: true
                }]
            }
        });

        Ext.create('Ext.tree.Panel', {
            //title: 'Simple Tree',
            itemId: 'projectTree',
            viewConfig: {
                plugins: {
                    ptype: 'treeviewdragdrop'
                }
            },
            id: 'projectTree',
            width: 200,
            height: 500,
            store: store,
            renderTo: Ext.getBody(),
            dockedItems: [{
                xtype: 'toolbar',
                dock: 'top',
                items: [{
                    text: 'Add To Selected',
                    handler: function () {
                        var treeNode = Ext.getCmp('projectTree').getSelectionModel().getSelection()
                        treeNode.appendChild({
                            text: 'Child 4',
                            leaf: false
                        });
                    }
                }, {
                    text: 'Add to root',
                    handler: function () {
                        var treeNode = Ext.getCmp('projectTree').getRootNode();
                        treeNode.appendChild({
                            text: 'Child 4',
                            leaf: false
                        });
                    }
                }]
            }],

        });
    }
});

1 个答案:

答案 0 :(得分:0)

getSelection()以某种方式返回一个节点数组,因此您只需要获取第一个节点:

... treeNode[0].appendChild({ text: 'Child 4', leaf: false }); ...