ExtJS 4.2.1,Tree,将子节点添加到节点

时间:2013-07-31 14:12:36

标签: javascript extjs tree append treenode

我正在使用ExtJS 4.2.1

当我点击它时,我正试图将孩子附加到叶子上。 它最初是一个叶子,点击将其转换为一个文件夹,我想将叶子作为子项附加到此节点。

它在Ext 3.4中有效,但似乎4.2.1中的appendChild()方法存在问题。由于我们可以在Uncaught TypeError: Object [object Object] has no method 'updateInfo'中找到node.updateInfo(commit);,我从此方法中获得了appendChild()

这是一个非常简单的指示:

在Ext3中

    node.leaf = false; 
        // add nodes in trees
        for  ( i =0 ; i < timesheetData.length ; i++ ) 
        {
            // we create a new node and state it's a timesheet 
            var newNode =  new Ext.tree.TreeNode({
                 id : timesheetData[i].id, 
                 text : timesheetData[i].text, 
                 ts : true }) ;
            node.appendChild(newNode);

        } 
    node.expand(); 

在Ext4中

    node.set('leaf', false); 
        // add nodes in trees
        for  ( i =0 ; i < timesheetData.length ; i++ ) 
        {

            node.appendChild({
                 id : timesheetData[i].id, 
                 text : timesheetData[i].text, 
                 ts : true });

        } 
    node.expand();
4.2.1中不再存在

Ext.tree.TreeNode。 所以我试着直接追加孩子。但它不起作用!

我该怎么办?

谢谢

1 个答案:

答案 0 :(得分:3)

在树监听器中尝试:

itemclick: function( record, item, index, e, eOpts ){
            item.appendChild({
                text: 'Hi! I am a leaf',
                leaf: true
            });
           }