2011-09-08 2 views

Répondre

1

Utilisez le Ext.applyIf. Des docs

Copie toutes les propriétés de configuration pour obj si elles ne le font pas déjà existent.

est ici la définition:

applyIf(Object obj, Object config) : Object 

Sinon, utilisez le Ext.apply

Copie toutes les propriétés de configuration pour obj.

Définition:

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

Je devine que de mettre la région au nord que vous wan't pour ajouter le panneau à un récipient avec mise en page de la frontière ... Je crois que vous pouvez faire quelque chose comme

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

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

méthode dolayout devrait forcer le recalcul de la mise en page sur tous les composants ...

Edit:

Pour le contrôle universel de la solution Ext.apply

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

Ext.apply(thePanel,config); 

Mais je pense que vous avez encore besoin de forcer le recalcul de mise en page comme ci-dessus

+0

thx pour une réponse rapide. mais je cherche une solution universelle. – TheHorse

0

Pour autant que je sache, une fois que l'objet a été instancié, vous ne pouvez pas simplement Whack nouvelles options de configuration en elle. Il bulles trop (par exemple, disons par exemple que vous voulez écraser le tableau "items", cela affecte un peu de votre objet réel).

Généralement, ExtJs a une méthode pour faire ce que vous voulez faire.

Questions connexes