在extjs中向控制器动态添加Flex值

在extjs中向控制器动态添加Flex值,extjs,extjs4,extjs4.1,extjs-mvc,Extjs,Extjs4,Extjs4.1,Extjs Mvc,我在“视图”中为一些项目(容器)提供了hbox的布局。现在我想通过“控制器”为每个项目赋予flex值。我该怎么做 我已经浏览了文档,但找不到任何类似于setFlex的方法 编辑: Ext.apply(Ext.getCmp('IdHere'), {flex: 1}); 我从中得到了答案。 但现在的问题是,即使我动态地更改flex值,容器的视图也没有改变。它保持不变 我最初不是在“视图”中指定flex值,我的第一个猜测是需要通过调用doLayout()重新运行布局过程。我不太确定,但我认为您必须调

我在“视图”中为一些项目(容器)提供了
hbox
的布局。现在我想通过“控制器”为每个项目赋予
flex
值。我该怎么做

我已经浏览了文档,但找不到任何类似于
setFlex
的方法

编辑

Ext.apply(Ext.getCmp('IdHere'), {flex: 1});
我从中得到了答案。 但现在的问题是,即使我动态地更改flex值,容器的视图也没有改变。它保持不变


我最初不是在“视图”中指定flex值,我的第一个猜测是需要通过调用
doLayout()
重新运行布局过程。我不太确定,但我认为您必须调用包含
hbox
布局的父元素

获取父容器(在其上应用了布局hbox或vbox),然后获取项目,最后更改flex并更新布局

var ct = me.up('#parentComponent');
 ct.items.get('itemId1').flex = 2;
 ct.items.get('itemId2').flex = 2;
 ct.updateLayout();

我知道这个方法。但我不知道如何使用。我在容器上使用这个方法,而不是在父容器上。再次感谢。:)请帮我解决这个问题:)