Чтобы не использовать описание документации, которое, как вы сказали, вы нашли немного хитрым:
Flex используется как свойство в макетах hbox и vbox и указывает объем пространства, которое этот компонент займет в родительском контейнере.
Вы можете использовать любое число больше нуля в качестве значения свойства flex - некоторые люди предпочитают использовать целые числа для простоты, другие, которые я видел, используют значения, такие как 0,25, для более простого представления процентов.
Базовый пример гибкого действия:
var myPanel = Ext.create('Ext.panel.Panel', {
width: 100,
height: 100,
layout: {
type: 'hbox',
align: 'stretch' // Stretches child items to the height of this panel.
},
items: [{
xtype: 'container',
html: 'Container one!',
flex: 5 // This takes up 50% of the container.
}, {
xtype: 'container',
html: 'Container two!',
flex: 3 // This takes up 30% of the container.
}, {
xtype: 'container',
html: 'Container three!',
flex: 2 // This takes up 20% of the container.
}]
});
Ключевым моментом здесь является знание того, что не значение каждого флекса определяет макет, а то, как все эти значения связаны друг с другом. Если бы я добавил в этот макет еще один контейнер с изгибом 10, это заняло бы половину макета, поскольку 10 - это половина от 10 + 5 + 3 + 2 = 20.
Надеюсь, это поможет!