Это было мое решение на тот случай, если кто-то заинтересовался: оно определенно не идеально, довольно хакерское, но, кажется, работает нормально. Может быть, кто-то лучше увидит, чего я сейчас пытаюсь достичь, и может придумать лучшую реализацию :-)
Ext.define('Ext.tab.AutoHeightPanel', {
extend: 'Ext.tab.Panel',
alias: 'widget.autoheighttabs',
constructor: function(cnfg){
this.callParent(arguments);
this.initConfig(cnfg);
this.on('afterlayout', this.forceAutoHeight, this);
this.on('afterrender', this.forceAutoHeight, this);
this.on('resize', this.forceAutoHeight, this);
},
forceAutoHeight: function(){
this.getEl().applyStyles({height : 'auto', overflow : 'visible'});
this.items.each(function(item, idx, len) {
if(Ext.isDefined(item.getEl())) item.getEl().applyStyles({height : 'auto', overflow : 'visible'});
});
}
});
Возможно, вы захотите добавить значение 'margin-bottom' в конфигурацию style
панели вкладок, чтобы предотвратить соприкосновение контента с нижней частью панели.