Ext.XTemplate () не рендерится при динамическом добавлении в компонент.EXTJs - PullRequest
0 голосов
/ 25 апреля 2019

Я добавляю компоненты динамически в контейнер, используя: 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, они рендерится отлично. Любые идеи, почему это только шаблон, который имеет проблемы рендеринга?

Спасибо

1 Ответ

1 голос
/ 25 апреля 2019

С синтаксисом я предполагаю его ExtJS 3.4.

Вам не хватает свойства data для шаблона.Шаблону всегда нужен параметр хранилища или данных, который для него обрабатывается как источник данных.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...