如何创建扩展树面板,当节点展开/折叠时,它会自动调整大小以适应其内容?
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);}
var tree = Ext.create('Ext.tree.Panel', {
//...
//configuration goes here
animate: false,
listeners:{
load: function(){
resetHeight(this);
},
itemexpand: function(){
itemcollapse: function(){
}
function resetHeight(cmp){
setTimeout(function(){
var innerElement = cmp.getEl().down('table.x-grid-table');
if(innerElement){
var height = innerElement.getHeight();
cmp.setHeight(height);
}, 200);
字符串
swvgeqrz2#
整个问题是在错误的渲染后显示(如果你使用树面板在容器中)。只是更新面板。帮助我:
var tree = Ext.create('Ext.tree.Panel', { //... //configuration goes here //... animate: false, //... listeners:{ show: (self) => self.update(), }}
show: (self) => self.update(),
2条答案
按热度按时间jgovgodb1#
这是一个有点肮脏的变通办法,但作为一个快速的解决方案,对我来说很好。
字符串
swvgeqrz2#
整个问题是在错误的渲染后显示(如果你使用树面板在容器中)。只是更新面板。帮助我:
字符串