0

我通过将 xtype 指定为 treecolumn 创建了一个树面板。我想选择树的第一片叶子。在这个例子中,我注册了 boxready 事件,详情如下:

boxready : function( treePanel, width, height, eOpts ){

    treePanel.getSelectionModel().select( 0 );
    //treePanel.select( treePanel.getRootNode().getChildAt(0) );
    treePanel.getSelectionModel().selected = 0;
},
treePanel.getSelectionModel()

这个例子给了我 SINGLE 类型的 selectionmodel。谁能解释为什么我的例子没有选择第一片叶子?

4

1 回答 1

0

这是一个小“图”:

如果您从一开始就需要叶子:

  • 选择了一个节点:

    var nodeData = treePanel.getSelectionModel().getSelection();

  • 从一开始:

    var node = treePanel.getRootNode(); -- 父亲(第一个节点);

    findLeaf:函数(节点) {

    if(node.isLeaf()){
    // this is the node that u want
    }else{
        // bucle to find it
        node.eachChild(function(nodeChild,array){
            if(nodeChild.isLeaf()){
               // this is the node that u want
            }else{
               // get childs of this node
               if(nodeChild.hasChildNodes()){
                    //find the childs from this node.
                    this.findLeaf(nodeChild);
               }
            }
        });
    }
    

    };

于 2013-04-02T12:03:22.153 回答