Sencha Touch 2.0多个列表项按钮

时间:2013-01-23 19:54:31

标签: sencha-touch sencha-touch-2

有人知道Sencha Touch列表项上是否可以有多个图标按钮来监听不同的事件?如果是这样,我怎么能做到这一点?

例如,假设我有一个人员列表,并且每个人都有一个电子邮件,电话和地图的图标。我想显示3个小图标,并能够映射每个图标以执行3个单独的操作。

2 个答案:

答案 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 /,

  • Main.js, useComponets 为true的数据视图组件,并将 defaultType 设置为'demo.view .Item”。
  • Item.js,一个DataItem,每个项目的可见内容是一个面板(在Card.js中)。我使用datamap将记录(商店内)中的名称链接到 userName (在demo.view.Card中)。
  • Card.js,每个人的小组。用户名标题和3个按钮。