Невозможно пройти массив.Цикл не работает - PullRequest
0 голосов
/ 17 апреля 2019

Я беру подмассив из сервисного вызова и пытаюсь напечатать значения массива.Я могу получить значения и сохранить в массиве.Но когда я пытаюсь обойти массив, используя Extjs цикл TPL.Сбой при условии введите описание изображения здесь Я проверил 1. Управление идет до tpl, все, что раньше для печати печатается 2. Массив имеет 4 записи.

initComponent: function() {
var me = this;
var dataItems= me.loadData();
this.items = [{                     
    xtype : 'dataview',             
    store: 'proceduresDateGroupedByCodeGroupSid',
    multiSelect: true,
    trackOver: true,
    overItemCls: 'lab-result-detail-row ',
    itemSelector : '.item-selector',
    padding : '0 0 0 0',

    tpl: new PD.view.component.CTemplate(
         '<div>HELLO</div>',
        '<tpl for="dataItems">',                        
        '<div>hello</div>', 
        '<div>{this.formatDate},
         '</div>', 
        '</tpl>', 

В идеалеон должен напечатать "привет" 4 раза.

Ответы [ 2 ]

0 голосов
/ 24 апреля 2019

Проблема не связана с тем, что вы не указали class = "item-selector", как показано в коде ниже

Ext.application({
    name: 'Fiddle',

    launch: function () {
        Ext.Msg.alert('Fiddle', 'Welcome to Sencha Fiddle!');
        var store = Ext.create('Ext.data.Store', {
            data: [{
                name: 'lorem',
                value: '01'
            }, {
                name: 'ipsum',
                value: '02'
            }, {
                name: 'dolor',
                value: '03'
            }, {
                name: 'sit',
                value: '04'
            }]

        });
        Ext.create('Ext.panel.Panel', {
            title: 'Hello',
            bodyPadding: 10,
            width: 200,
            renderTo: Ext.getBody(),
            items: [{
                xtype: 'dataview',
                store: store,
                 itemSelector: 'div.item-selector',
                tpl: new Ext.XTemplate(
                    '<tpl for=".">',
                    '<div>HELLO</div>',
                    '<div>hello</div>',
                    '<div style="border-bottom: thin solid black">{name}</div>',
                    '</tpl>'
                )
            }]

        });
    }
});

Fiddle для вышеуказанного кода.

Проблема была, как было сказано @norbeq в ответе @Matheus Hatje.Размещение вашего

ПРИВЕТ

Находясь выше **<tpl for=".">** Он не содержится внутри для внешнего вида, поэтому он будет печататься только один раз.

0 голосов
/ 17 апреля 2019

Ваш ItemSelector назначает класс, называемый item-selector, но в вашем tpl у вас нет div с этим классом, вместо этого попробуйте это.

 itemSelector:'div.item-selector',
 tpl: new PD.view.component.CTemplate(
         '<div>HELLO</div>',
        '<tpl for=".">',                        
        '<div classs="item-selector">hello</div>', 
        '<div>{this.formatDate},
         '</div>', 
        '</tpl>', 

Fiddle

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