![](/img/trans.png)
[英]Sencha Touch - Creating a List - Want to add a class to the last item
[英]Creating Action Sheet in Sencha Touch when a list item is `tapped`
我有一个从Sencha Touch中的JSON数据生成的列表。 本质上,该列表是从数据存储对象生成的,并且充当“联系人”列表。 我想知道如何添加功能,以便当用户点击列表项之一时,Sencha Touch中将显示一个操作表,其中提供了许多操作(例如“呼叫”,“发送消息”和“删除” ')。
这是我用来生成ListvIew的代码:
var listView = new Ext.List({
store: friendStore,
itemTpl: '{forename} {surname}<br />{phoneNumber}',
grouped: true,
indexBar: true
});
我知道我可以使用on
参数,但是会将tap
事件附加到列表,而不是每个项目。 显示的操作表还将包含与tel://
一些链接,因此它也必须是动态的(因为要拨打的电话号码也存储在数据存储区中的{phoneNumber}
键下{phoneNumber}
希望有道理...
ListView有一个应该监听的itemtap事件。 从文档:
itemtap : ( Ext.DataView view, Number index, Ext.Element item, Ext.EventObject e )
要获取与点击的项目相对应的记录,只需执行view.getStore()。getAt(index)。 然后,在事件处理程序中,只需根据记录中的数据重新创建ActionSheet并显示它即可。
与将侦听器附加到列表相比,将侦听器附加到列表要比附加到每个单独的项目更有效。
这不是一个很好的答案,但我会看一下DataView ,它是List的父级。
它具有一个名为itemSelector的属性,您可以使用它来指定列表条目的子部分。 如果使用itemSelector,则还必须提供tpl属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.