aufrufen Ich habe ein Ext Js Panel, das ich zu meinem Haupt-TabPanel hinzufügen. Das Panel, das ich hinzufüge, enthält ein FormPanel als eines seiner Elemente und innerhalb des FormPanel habe ich ein Name-Feld. Ich möchte den Namen des Tabs anhand des Namens im Formularfeld ändern.Kann nicht getValues () auf einem Ext Js FormPanel bei der Initialisierung eines Containers Panel
Das Problem ist, dass, wenn ich rufe die Formpanel existieren die getForm().getValues()
innerhalb der initcomponent des Panels, erhalte ich die folgenden Javascript-Fehler:
Uncaught TypeError: Cannot read property 'dom' of undefined
Wenn ich diese außerhalb von initcomponent (zB auf einem Tastendruck) alles funktioniert fein. Nach einigen Tests denke ich, das Problem ist, dass das FormPanel noch nicht wirklich gerendert wird (und somit das Dom nicht existiert), schlägt getValues()
fehl. Allerdings scheint es mir nicht möglich zu sein, meine FormPanel-Werte beim Laden aus dem Panel zu bekommen.
Ich habe versucht, auf Ereignisse zu hören. Ich habe versucht:
this.detailForm.on('afterrender', function() { alert('test'); });
aber dies zu tun hat gezeigt, dass AfterRender
auf die Form vor genannt wird tatsächlich wiedergegeben wird (es ist nicht sichtbar auf dem Bildschirm). Durch das Ändern der Warnung für meinen benutzerdefinierten Funktionshandler wird die vorherige dom-Ausnahme erstellt. Ich habe versucht, die Ereignisse activate
und enable
anstelle von afterrender
zu verwenden, aber obwohl die API angibt, dass FormPanel diese Ereignisse auslöst, wird die Warnung ("test") nie aufgerufen.
kann ich keine Möglichkeit für meine Platte zu finden scheinen die inneren Formpanel existieren Werte beim Laden meiner Platte zu erhalten. Hat jemand irgendwelche Ideen?
Beide scheinen zu funktionieren, aber ich markiere dies als die Antwort, weil ich denke, dass es besser ist, als sich auf das 'Afterlayout'-Ereignis zu verlassen – KallDrexx