immaginare il caso seguente, dove ho il seguente documento HTML:Does ExtJS automaticamente spazzatura raccogliere componenti
<html>
<head>... include all the js and css here...</head>
<body>
<div class="placeholderForExtPanel"></div>
</body>
</html>
Ora da qualche parte nel mio codice, dico ExtJS di rendere un pannello nel mio segnaposto.
var container = Ext.select('.placeholderForExtPanel');
Ext.create('Ext.form.Panel', {
title: 'My Panel'
});
Un po 'più tardi, qualche altra parte del codice decide di rimuovere il div segnaposto dal DOM.
Ext.select('.placeholderForExtPanel').first().remove();
In questo caso, cosa succede al pannello che è stato dichiarato prima? Devo distruggerlo manualmente, o ExtJS sa che l'elemento contenente è stato appena rimosso dal DOM e dovrebbe distruggere il Pannello da solo? Sto usando ExtJS 4.1.
In realtà, la Reson sto chiedendo è perché voglio avere un ext.tree.Panel organizzato come TreeGrid che consente a determinate righe di eseguire il rendering di componenti arbitrari all'interno del loro associato '
Ho provato a utilizzare la funzionalità RowBody o il plug-in RowExpander, ma entrambi sono irrimediabilmente bacati da una griglia ad albero. – LordOfThePigs
È possibile ascoltare l'evento [refresh] (http://docs-origin.sencha.com/extjs/4.1.1/#!/api/Ext.tree.View-event-refresh) nella vista, in quanto verrà attivato ogni volta che la vista griglia ricostruisce la struttura HTML. Per quello che vale, il rendering dei componenti su righe o celle di griglia è di solito una cattiva idea (ci sono stato anche io :)) poiché la vista può aggiornarsi frequentemente (ad esempio sull'ordinamento) e potenzialmente molti componenti devono essere renderizzati, il che rallentare significativamente le prestazioni. – matt
Problemi correlati