2012-05-18 32 views
10

Estoy intentando agregar componentes extjs al panel tpl. ¿Hay alguna forma para insertar el componente de TPL como estoComponente Extjs dentro de Ext.XPlantilla en 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

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

+0

Ah, encontré mi problema. está funcionando cuando cambio el evento afterrender para actualizar evento – XenoN

Respuesta

11

Prueba este cheque

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 
    }) 
});