2011-03-17 55 views
1

我在Sencha Touch中有一个从JSON数据生成的List。本质上,该列表是从Data Store对象生成的,并充当联系人列表。我想知道如何添加功能,以便当用户点击其中一个列表项时,Sencha Touch中会显示一个操作表,提供许多操作(如“呼叫”,“发送消息”和“删除“)。在Sencha Touch中创建操作表当触摸列表项时

下面是我使用生成列表视图代码:

var listView = new Ext.List({ 
    store: friendStore, 
    itemTpl: '{forename} {surname}<br />{phoneNumber}', 
    grouped: true, 
    indexBar: true 
}); 

我知道,我可能用on参数,但将在tap事件添加到列表中,而不是每个项目。显示的操作表将包含一些链接以及tel://,因此它也需要动态(因为要拨打的电话号码也存储在数据存储中的密钥{phoneNumber}

希望这是有道理的...

回答

1

ListView有一个你应该听的itemtap事件。从文档:

itemtap : (Ext.DataView view, Number index, Ext.Element item, Ext.EventObject e) 

为了获得对应于挖掘项目只是做view.getStore()getAt(指数)的记录。然后在您的事件处理程序中,根据记录中的数据重新创建ActionSheet并显示它。

将侦听器附加到列表中比附加到每个单独的项目更有记忆效率。

+0

谢谢你的帮助,贾森! – BenM 2011-03-18 11:10:44

0

这是不是一个伟大的答案,但我会看着DataView,这是清单的父母。

它有一个叫做itemSelector属性,它您可以使用指定列表的第entry。如果你使用itemSelector,你也必须提供一个tpl属性。