@ jeremygerrits почти правильно.
IMO fit
не будет работать, так как будет соответствовать всем компонентам.
Мое решение - использовать vbox
/ hbox
в контейнере вида. Затем к компонентам, которые добавляются, просто добавьте flex: 1
.
например. контейнер:
Ext.define('Tm.view.MyContainer', {
extend: 'Ext.Container',
xtype: 'holder',
config: {
fullscreen: true,
layout: 'vbox'
}
});
и компонент:
Ext.define('Tm.view.MyComponent', {
extend: 'Ext.dataview.List',
xtype: 'newc',
config: {
flex: 1,
itemTpl: '{option_text}'
}
});
и в контроллере (при условии, что ссылка на контейнер установлена):
tpl = Ext.create('Tm.view.MyComponent');
tpl.setData(data);
this.getMyContainer().add(tpl);
Тогда любой добавленный компонент отображается правильно.