Sencha Touch: Liste ItemTap Événement De Tir
Je suis en train de suivre de très près avec le code dans la GeoCongress.nous App, comme c'est mon premier Sencha Touch app et les prémisses de l'application de la disposition fonctionnalité est similaire à ce que je souhaite réaliser.
Je vais avoir un problème d'obtention d'une Liste d'objet de répondre à la itemtap
d'événement. Mon but est de capturer le itemtap
événement à la SetsScreen
niveau, le feu de mon propre événement personnalisé qui ma App
objet écouter, et App
pourrait alors de gérer le processus de l'affichage d'une nouvelle carte (basé sur l'élément taraudé).
Tout d'abord, le SetsScreen
objet (les passages pertinents de il au moins):
DataSets.views.SetsScreen = Ext.extend(Ext.Panel, {
cls: 'sets-screen',
layout: 'card',
initComponent: function() {
//Build the main content list and add it to the main scren
this.setsList = new DataSets.views.SetsList({
scroll: false
});
this.setsList.on('itemtap', this.onListItemTap, this);
this.main = new Ext.Container({
scroll: true,
items: [this.setsList]
});
this.items = [this.main];
DataSets.views.SetsScreen.superclass.initComponent.call(this);
},
onListItemTap: function(dv, index, item, e) {
alert('Test');
}
});
Voici mon SetsList
objet (rien de vraiment étonnant ici):
DataSets.views.SetsList = Ext.extend(Ext.List, {
itemSelector: '.sets-list-item',
singleSelect: true,
initComponent: function() {
this.store = DataSets.stores.Sets;
this.itemTpl = Ext.XTemplate.from('sets-list');
DataSets.views.SetsList.superclass.initComponent.call(this);
}
});
Et la Sets
objet n'est rien de plus qu'un rapide modèle de données et Ext.les données.Magasin:
Ext.regModel('Sets', {
idProperty: 'id',
fields: [
'title',
'last_updated',
'current_value'
]
});
DataSets.stores.Sets = new Ext.data.Store({
model: 'Sets',
data: [
{id: 0, title: 'Weight', last_updated: new Date('11/28/2010 00:00:00 AM GMT-0600'), current_value: 145},
{id: 1, title: 'Cups of Coffee', last_updated: new Date('11/28/2010 07:00:00 AM GMT-0600'), current_value: 1}
]
});
Vous devez vous connecter pour publier un commentaire.
Oh, l'homme - je ne sais pas comment je suis tombé sur cette réponse, un très obscure erreur de frappe est la seule chose qui empêche ce travail.
Ext.List()
utiliseitemSelector
propriété afin de déterminer quel élément qualifié de "tap". MonitemSelector
a été mis à.sets-list-item
mais le modèle avait<div class="set-list-item">
. La correction du modèle etitemtap
est tir comme prévu.Vous pourriez avoir besoin de regarder le mise à jour de screencast - puisque certains de l'API qui est modifié dans la version 1.0, et les plus âgés screencast est maintenant désynchronisés.