有人知道Sencha Touch列表项上是否可以有多个图标按钮来监听不同的事件?如果是这样,我怎么能做到这一点?
例如,假设我有一个人员列表,并且每个人都有一个电子邮件,电话和地图的图标。我想显示3个小图标,并能够映射每个图标以执行3个单独的操作。
答案 0 :(得分:2)
这取决于您创建按钮的方式。
如果按钮是使用itemTpl
的简单HTML,您可以只听取List上的itemtap事件并使用event
参数来检测您按下的按钮。您可以通过自定义属性甚至是className来执行此操作:
myListItemTapListener: function(list, index, target, e) {
var el = Ext.get(e.getTarget());
if (el.hasClass('map')) {
this.navigate(index);
} else if(el.hasClass('email')) {
this.email(index);
} else if(el.hasClass('phone')) {
this.phone(index);
}
}
如果按钮在组件列表中是实际的Ext.Button
,则可以在创建组件时在每个按钮上添加一个监听器。有一个如何在Sencha Docs中的DataView Guide中执行此操作的示例。
答案 1 :(得分:0)
组件DataView可以帮助您。您可以看到[指南]:http://docs.sencha.com/touch/2-0/#!/guide/dataview-section-4
我写了一个[demo]:https://github.com/hs3180/Sencha-Touch-Component-DataView ,在app / view /,