ExtJS 3.动态附加配置

时间:2011-09-08 13:32:24

标签: javascript extjs extjs3

有没有办法花一些配置(对象属性)来创建getobject。

var thePanel = new Ext.Panel({
   border: false
});

thePanel.addpendConfigs({               //How to?
   height: 40,
   region: "north"
});

3 个答案:

答案 0 :(得分:2)

我猜测从设置北方区域你不想将面板添加到带边框布局的容器中......我相信你可以做类似的事情

thePanel.setHeight(40);
thePanel.region = 'north';

container.add(thePanel);
container.doLayout();

dolayout方法应强制重新计算所有组件的布局......

修改:

对于通用解决方案,请检查Ext.apply

var config = {
   height: 40,
   region: "north"
}

Ext.apply(thePanel,config);

但我认为您仍然需要像上面那样强制进行布局重新计算

答案 1 :(得分:1)

使用Ext.applyIf。 来自docs

  

如果尚未将配置的所有属性复制到obj   存在。

这是定义:

applyIf( Object obj, Object config ) : Object

否则使用Ext.apply

  

将config的所有属性复制到obj。

定义:

apply( Object obj, Object config, Object defaults ) : Object

答案 2 :(得分:0)

据我所知,一旦对象被实例化,你不能简单地将新的配置选项打入其中。它泡沫太多(例如,比方说你要覆盖“items”数组,这会影响你的实际对象)。

一般来说,ExtJs有一种方法可以做你想做的事情。