folgenden Fall Stellen Sie sich vor, in dem ich die folgende HTML-Dokument haben:Hat ExtJS automatisch Müll sammeln Komponenten
<html>
<head>... include all the js and css here...</head>
<body>
<div class="placeholderForExtPanel"></div>
</body>
</html>
Jetzt irgendwo in meinem Code, ich ExtJS sagen ein Panel in meinem Platzhalter zu machen.
Etwas später beschließt ein anderer Teil des Codes, den Platzhalter div aus dem DOM zu entfernen.
Ext.select('.placeholderForExtPanel').first().remove();
In diesem Fall, was passiert mit dem Panel, das zuvor deklariert wurde? Muss ich es manuell zerstören, oder weiß ExtJS, dass das enthaltene Element gerade aus dem DOM entfernt wurde und das Panel selbst zerstören sollte? Ich benutze ExtJS 4.1.
Eigentlich ist die reson ich frage ist, weil ich ein ext.tree.Panel haben möchte, das als ein TreeGrid angeordnet ist, das bestimmten Zeilen erlaubt, willkürliche Komponenten innerhalb ihres verbundenen '
Ich habe versucht, die RowBody-Funktion oder das RowExpander-Plugin zu verwenden, aber beide sind hoffnungslos buggy mit einem Baumraster. – LordOfThePigs
Sie können das Ereignis [refresh] (http://docs-origin.sencha.com/extjs/4.1.1/#!/api/Ext.tree.View-event-refresh) in der Ansicht abhören Wird ausgelöst, wenn die Rasteransicht die HTML-Struktur neu erstellt. Für das, was es wert ist, Komponenten in Rasterzeilen oder Zellen zu rendern, ist normalerweise eine schlechte Idee (ich war auch dort :)), da die Ansicht häufig aktualisiert werden kann (zB beim Sortieren) und möglicherweise viele Komponenten gerendert werden müssen Leistung erheblich verlangsamen. – matt
Verwandte Themen