Вопрос

У меня проблема с Dataview. Анкет А Dataview Должны иметь слушателей на предметах, которые он отдает.

Итак, вот как мой Dataview похоже:

var childrenData = Ext.create('Ext.DataView', {
    store: {
        fields: ['id', 'name', 'children'],
        proxy: {
            type: 'ajax',
            url: '/category/view',
            reader: {
                type: 'json',
            }
        },
        autoLoad: true,
    },
    itemTpl: childrenTemplate,
    listeners: {
             itemtap: function(data,index){
                    var record = data.getStore().getAt(index);
                console.log(record);
          }
    }
});

Есть ли у кого -нибудь идея, почему это не работает?

РЕДАКТИРОВАТЬ: Добавлены данные шаблона: var childrentemplate = new ext.template ('', '', '', '{name}', '', '', '', '{price}', '', '', '', '');

Это было полезно?

Решение 2

Я узнал, в чем проблема.

DataView был в контейнере, который был в табпанеле.

После некоторой проб и ошибок я обнаружил, что если я определяю контейнер как объект конфигурации с xtype: «контейнер», который он работает. Если я создаю контейнер через ext.create ('ext.container', {}); Это как -то не работает. Уже спросил на форуме Sencha, если это ошибка или функция, я буду держать вас в курсе.

Другие советы

Пожалуйста, попробуйте ниже код; (для Sencha-touch-2)

var childrenData = Ext.create('Ext.DataView', {
        store: {
            fields: ['id', 'name', 'children'],
            proxy: {
                type: 'ajax',
                url: '/category/view',
                reader: {
                    type: 'json',
                }
            },
            autoLoad: true,
        },
        itemTpl: childrenTemplate
    });

Добавить слушателя;

childrenData.on({
      tap: function(data,index){
              var record = data.getStore().getAt(index);
              console.log(record);
         }
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top