ExtJS 4中的Ext.tree.Panel自动高度

n1bvdmb6  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(139)

如何创建扩展树面板,当节点展开/折叠时,它会自动调整大小以适应其内容?

jgovgodb

jgovgodb1#

这是一个有点肮脏的变通办法,但作为一个快速的解决方案,对我来说很好。

var tree = Ext.create('Ext.tree.Panel', {
    //...    
    //configuration goes here
    //...
    animate: false,
    //...
    listeners:{
        load: function(){
            resetHeight(this);
        },
        itemexpand: function(){
            resetHeight(this);
        },
        itemcollapse: function(){
            resetHeight(this);
        }
    }
}

function resetHeight(cmp){
    setTimeout(function(){
        var innerElement = cmp.getEl().down('table.x-grid-table');
        if(innerElement){
            var height = innerElement.getHeight();
            cmp.setHeight(height);
        }
    }, 200);
}

字符串

swvgeqrz

swvgeqrz2#

整个问题是在错误的渲染后显示(如果你使用树面板在容器中)。只是更新面板。帮助我:

var tree = Ext.create('Ext.tree.Panel', {
    //...    
    //configuration goes here
    //...
    animate: false,
    //...
    listeners:{
        show: (self) => self.update(),
    }
}

字符串

相关问题