分组嵌套列表?

时间:2012-05-30 02:14:42

标签: sencha-touch sencha-touch-2

如何在ST2中创建分组嵌套列表,就像在Xcode中使用Storyboard一样?我只需要根级别的组。这里有一些关于它在原生应用程序中的样子的想法。

我在Sencha的NestedList documentation中没有看到任何内容。

enter image description here

4 个答案:

答案 0 :(得分:1)

在ST2中,NestedList方法getSubList()现在是getList(),它的工作方式略有不同。覆盖它以传播分组信息对我有用:

/**
 * Override Ext.dataview.NestedList.getList to propagate grouping info from
 * parent NestedList to List sublist.
 */
getList: function(node) {

    var list = this.callParent(arguments);

    list.grouped = this.grouped;
    list.store.setGrouper(this.getStore().config.grouper);

    return list;
}

答案 1 :(得分:0)

在Sencha Touch论坛上已经有人问过了。

http://www.sencha.com/forum/showthread.php?122238-Grouped-Nested-List

答案 2 :(得分:0)

您可以查看KitchenSink示例(用户界面 - >列表 - > Grouped) http://docs.sencha.com/touch/2-0/#!/example/kitchen-sink

这是一个简单的列表,只是在商店中有一个storers / grouper属性:

Ext.create('Ext.data.Store', {
id: 'ListStore',
model: 'Contact',
sorters: 'firstName',
grouper: function(record) {
    return record.get('firstName')[0];
},
data: [...

您可以在列表项设置中调用它:

items: [{
            width: Ext.os.deviceType == 'Phone' ? null : 300,
            height: Ext.os.deviceType == 'Phone' ? null : 500,
            xtype: 'list',
            store: 'ListStore',
            itemTpl: '<div class="contact"><strong>{firstName}</strong> {lastName}</div>',
            grouped: true,
            indexBar: true
        }]

希望它会有所帮助:)

答案 3 :(得分:0)

创建一个简单的分组列表,并为组头设置“tap”事件。点击标题后,打开另一个面板,并显示仅包含该组项目的列表。