2010-10-28 5 views
0

J'utilise la fonction doLayout sur une fenêtre.Pourquoi doLayout ne fonctionne pas en deuxième clic?

var win = new Ext.Window({ 
    id: 'site-action-window', 
    closeAction: 'hide', 
    resizable: false, 
    layout: 'fit' 
}); 

    function showWin(f) { 
    win.removeAll(); 
    win.add(f); 
    win.setSize(400, 150); 
    win.setTitle(localize.addLanguage); 
    win.show(); 
    win.doLayout(); 
} 

Lorsque j'appelle cette fonction pour la première fois, tout fonctionne correctement. mais une fois que j'effectue un second appel, j'obtiens une erreur disant "b.getPositionEl(). Dom est indéfini" du bug de feu. quelqu'un peut-il expliquer?

grâce

Répondre

0

trouvé le problème,

je détruisais l'objet puis essayer de l'appeler à nouveau à l'extérieur du godet

Merci pour les réponses

0

Puisque vous utilisez déjà Firebug, regardez la trace de la pile. Qu'est-ce que b? Vous devez faire un peu de débogage.

0

Essayez d'ajouter closeAction: « cacher » lors de la définition de votre fenêtre

var win = new Ext.Window({ 
    id: 'site-action-window', 
    closeAction: 'hide', 
    resizable: false, 
    closeAction: 'hide', 
    layout: 'fit'}); 

Lorsqu'un utilisateur ferme la fenêtre, la fenêtre est automatiquement détruit - ne peut donc pas être appelé à nouveau. Utiliser closeAction: 'hide' changera le comportement du bouton de fermeture de 'close' à 'hide'.

Sources: http://dev.sencha.com/deploy/dev/docs/?class=Ext.Window

+0

je l'utilise, comme vous pouvez le voir dans mon exemple de code – AMember

Questions connexes