繁体   English   中英

轻按列表项后,在Sencha Touch中创建操作表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM