簡體   English   中英

在組件內部動態添加Ext.XTemplate()時不呈現。

[英]Ext.XTemplate() not rendering when added dynamically inside a component.EXTJs

我正在使用以下代碼在容器中動態添加組件: this.add()方法代碼:

init: function() {
         var combo = new Ext.BoxComponent({

              tpl: new Ext.XTemplate("<div>hellow</div>")
             })
              this.add(combo)

              this.doLayout();
}

但是,當我添加Ext.XTemplate()時,它不呈現,但是當我添加Ext.Button或Ext.ComboBox之類的組件時,它們完美呈現。 有什么想法為什么只有它存在渲染問題的模板?

謝謝

使用語法,我假設它的ExtJS 3.4。

您缺少模板的數據屬性。 模板始終需要一個存儲或數據參數,該參數被視為其數據源。

init: function() {
         var combo = new Ext.BoxComponent({
              data: [{name:"Saurabh"}],
              tpl: new Ext.XTemplate("<div>{name}</div>")
             })
              this.add(combo)

              this.doLayout();
}

這是有效的POC代碼:

Ext.onReady(function () {
    Ext.create({
        xtype: 'panel',
        renderTo: Ext.getBody(),
        title: 'Xtemplate usage demo',
        items: [{
                xtype: 'panel',
                listeners: {
                    afterrender: function () {
                        var combo = new Ext.BoxComponent({
                            data: {name:"Saurabh"},
                            tpl: new Ext.XTemplate("<div>hellow {name}</div>")
                        });
                        var combo2 = new Ext.BoxComponent({
                            data: [{name:"Saurabh"}, {name: "User1234"}],
                            tpl: new Ext.XTemplate('<tpl for="."><div>hellow {name}</div></tpl>')
                        });
                        this.add(combo);
                        this.add(combo2);
                        this.doLayout();
                    }
                }
            }]
    });
});

這是工作小提琴的鏈接: https : //fiddle.sencha.com/#view/editor&fiddle/2rpg

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM