Question

Je suis un problème avec un Dataview. Le Dataview devrait avoir un auditeur sur les éléments qu'il rend.

Voici donc comment mes regards Dataview comme:

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

Quelqu'un at-il, une idée de pourquoi cela ne fonctionne pas?

Edit: Modèle de données ajouté: var childrenTemplate = new Ext.XTemplate ( '', '', '', '{Nom}', '', '', '', ' {prix}', '', '', '', « » );

Était-ce utile?

La solution 2

J'ai trouvé ce que le problème.

Le dataview était dans un conteneur qui se trouvait dans un TabPanel.

Après quelques essais et erreurs, j'ai découvert que si je le conteneur définir comme un objet de configuration avec xtype: 'conteneur' Ça marche. Si je crée le conteneur sur Ext.create ( 'Ext.Container', {}); il ne fonctionne pas en quelque sorte. Déjà demandé au Forum Sencha si son un bug ou une fonction, je vais vous tenir à jour.

Autres conseils

S'il vous plaît essayer ci-dessous le code; (Pour 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
    });

écouteur d'ajouter avec;

childrenData.on({
      tap: function(data,index){
              var record = data.getStore().getAt(index);
              console.log(record);
         }
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top