ExtJS 3. Добавлять конфиги динамически - PullRequest
0 голосов
/ 08 сентября 2011

Есть ли способ добавить некоторые конфиги (свойства объекта) к созданному extobject.

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

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

Ответы [ 3 ]

2 голосов
/ 08 сентября 2011

Я предполагаю, что установив север региона, вы не хотите добавлять панель в контейнер с макетом границ ... Я думаю, вы можете сделать что-то вроде

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 голос
/ 08 сентября 2011

Используйте Ext.applyIf. Из документов

Копирует все свойства конфигурации в obj, если они этого еще не сделали есть.

Вот определение:

applyIf( Object obj, Object config ) : Object

В противном случае используйте Ext.apply

Копирует все свойства config в obj.

Определение:

apply( Object obj, Object config, Object defaults ) : Object
0 голосов
/ 08 сентября 2011

Насколько я знаю, когда объект был создан, вы не можете просто вставить в него новые параметры конфигурации. Он слишком много пузырится (например, например, вы хотите перезаписать массив «items», это влияет на часть вашего реального объекта).

Как правило, ExtJs имеет метод, позволяющий делать то, что вы хотите.

...