Extjs组件在EXTJS 4上的Ext.XTemplate内部

时间:2012-05-18 09:13:29

标签: extjs components extjs4 render

我正在尝试将extjs组件添加到tpl面板。 无论如何都要将组件插入tpl,就像这样

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 个答案:

答案 0 :(得分:12)

试试这个

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