2012-05-18 126 views
10

我想添加extjs组件到tpl面板。 反正是有插入组件TPL这样extjs组件Ext.XTemplate在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

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

+0

啊,我发现我的问题。它正在工作,当我改变afterrender事件刷新事件 – XenoN

回答

11

这里试试这个

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