Frage

Ich habe ein Problem mit einem Dataview. Das Dataview Sollte eine Zuhörer auf den Gegenständen haben, die es rendert.

Also hier ist, wie mein Dataview sieht aus wie:

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

Hat jemand eine Idee, warum das nicht funktioniert?

Bearbeiten: Vorlagendaten hinzugefügt: var childrentemplate = new ext.xtemplate ('', '', '', '{name}', '', '', '', '{Preis}', '', '',, '', '');

War es hilfreich?

Lösung 2

Ich fand heraus, was das Problem war.

Die Dataview befand sich in einem Container, der sich in einem Tabpanel befand.

Nach einigen Versuch und Irrtum habe ich herausgefunden, dass es funktioniert, wenn ich den Container als Konfigurationsobjekt mit XTYPE definiere: 'Container', funktioniert. Wenn ich den Container über ext.create erstelle ('ext.Container', {}); Es funktioniert irgendwie nicht. Bereits in Sencha Forum gefragt, ob es sich um einen Fehler oder eine Funktion handelt, werde ich Sie auf dem Laufenden halten.

Andere Tipps

Bitte versuchen Sie den folgenden Code. (für 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
    });

Hörer hinzufügen mit;

childrenData.on({
      tap: function(data,index){
              var record = data.getStore().getAt(index);
              console.log(record);
         }
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top