Sencha添加动态点击监听器到记录列表

时间:2012-04-29 21:22:38

标签: list cordova sencha-touch extjs sencha-touch-2

我有一个Ext.data.Store和一个带有列表的Ext.Panel。 我用这个命令动态添加记录:

myStore.add({txt: r});

我想添加一个监听器,当我点击列表记录时,它会在消息框中显示记录数据。

我该怎么做?

Ext.data.store

   var myStore = Ext.create('Ext.data.Store', {
        storeId: 'MyStore',
        fields: ['txt']
    }); // create()

Ext.Panel

listpanel = new Ext.Panel({
                            layout: 'fit',   // important to make layout as 'fit'
                            items: [
                                {
                                    xtype: 'titlebar',
                                    id: 'myTitle',
                                    docked: 'top',
                                    title: 'Before Change title'

                                },
                                {
                                  //Definition of the list
                                  xtype: 'list',
                                  itemTpl: '{txt}',
                                  store: myStore,
                                }]
                          });

1 个答案:

答案 0 :(得分:3)

您需要使用itemtap组件的Ext.List事件。

E.g

   ....
   ....
   xtype: 'list',
   itemTpl: '{txt}',
   store: myStore,
   listeners : {
         itemtap : function(item, num, record, ev) {
                var myTxt = item.getStore().getAt(num).get('txt');
                Ext.Msg.alert('Message','Tapped record : '+myTxt);
         }
   }
   ....
   ....