有谁知道是否可以在 Sencha Touch 列表项上有多个图标按钮来监听不同的事件?如果是这样,我该如何做到这一点?
例如,假设我有一个人员列表,并且有一个电子邮件、电话图标和每个人的位置地图。我想显示 3 个小图标并能够映射每个图标以执行 3 个单独的操作。
有谁知道是否可以在 Sencha Touch 列表项上有多个图标按钮来监听不同的事件?如果是这样,我该如何做到这一点?
例如,假设我有一个人员列表,并且有一个电子邮件、电话图标和每个人的位置地图。我想显示 3 个小图标并能够映射每个图标以执行 3 个单独的操作。
这取决于您如何创建按钮。
如果按钮是简单的 HTML using itemTpl
,您可以只监听 List 上的itemtap事件并使用event
参数来检测您按下了哪个按钮。您可以通过自定义属性甚至类名来做到这一点:
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中有一个如何执行此操作的示例。
组件 DataView 可能会对您有所帮助。你可以看到这个[指南]:http ://docs.sencha.com/touch/2-0/#!/guide/dataview-section-4
我写了一个 [demo]:https://github.com/hs3180/Sencha-Touch-Component-DataView ,在 app/view/ 中,