2012-05-18 13 views
10

Sto provando ad aggiungere componenti extjs al pannello tpl. Esiste un modo per inserire componente TPL come questoComponente Extjs all'interno di Ext.XTemplate su EXTJS 4

Ext.create('Ext.panel.Panel',{ 
    renderTo: Ext.getBody(), 
    data: {}, 
    listeners:{ 
     afterrender:function(){ 
      var renderSelector = Ext.query('div.comment-add-textarea'); 
       for(var i in renderSelector){ 
        Ext.create('Ext.form.field.TextArea',{ 
         height:300, 
         renderTo:renderSelector[i] 
        }); 
       } 
     } 
    }, 
    tpl: Ext.create('Ext.XTemplate', 
     '<tpl for=".">', 
     '<div class="comment-add-textarea"></div>', 
     '</tpl>',{ 
      compiled:true 
     }) 
});​ 
+1

qui http://www.sencha.com/forum/archive/index.php/t-114317. html –

+0

Ah ho trovato il mio problema. funziona quando cambio l'evento afterrender per aggiornare l'evento – XenoN

risposta

11

Prova questo controllo

Ext.create('Ext.panel.Panel', { 
    renderTo: Ext.getBody(), 
    data: {}, 
    listeners: { 
     refresh: function() { 
      var renderSelector = Ext.query('div.comment-add-textarea'); 
      for (var i in renderSelector) { 
       Ext.create('Ext.form.field.TextArea', { 
        height: 300, 
        renderTo: renderSelector[i] 
       }); 
      } 
     } 
    }, 
    tpl: Ext.create('Ext.XTemplate', 
     '<tpl for=".">', 
     '<div class="comment-add-textarea"></div>', 
     '</tpl>', { 
      compiled: true 
    }) 
});