我的列表是从php服务获取数据,收到的数据是我需要的顺序。但是,sencha会按字母顺序自动排序我的列表。 以下是我的代码:
Ext.define('MyList', {
extend: 'Ext.dataview.List',
config: {
grouped: true,
plugins: [
{
xclass: 'Ext.plugin.PullRefresh',
pullRefreshText: 'Pull down to refresh'
},
{
xclass: 'Ext.plugin.ListPaging',
autoPaging: true,
noMoreRecordsText: 'No More Records'
}
]
},
initialize: function () {
this.callParent(arguments);
var store = Ext.create('Ext.data.Store', {
pageParam: 'page',
grouper: {
groupFn: function (record) {
return record.data.group_label;
}
},
model: 'ListItem',
proxy: {
type: 'ajax',
url: '/m/services/activity_list_items.php',
reader: {
type: 'json',
rootProperty: 'root.results'
}
}
});
var template = Ext.create('GenericListItem', {
hascounts: true,
hasicon: true,
varmap: {
descr: 'subtext',
count: 'sub_item_cnt',
itemid: 'itemid',
uniqid: 'uniqid'
}
});
var emptyText = 'Recent Activity Items';
this.setStore(store);
this.setItemTpl(template);
this.setEmptyText(emptyText);
}
});
如何避免自动排序列表?
答案 0 :(得分:7)
将以下内容添加到商店配置中。
remoteSort : true,
remotecha在sencha中默认为false。因此,sencha在客户端自动排序。请查看链接以获取更多详细信息http://docs.sencha.com/touch/2-0/#!/api/Ext.data.Store-cfg-remoteSort
答案 1 :(得分:2)
只需删除它:
grouped: true
如果您不希望每个项目都有标题,请从列表配置,并且必须删除它:
grouper: {
groupFn: function (record) {
return record.data.group_label;
}
}
来自您的商店,因为基本上您的情况grouper
属性用于根据您的group_label
字段按字母顺序对项目进行分组。希望它有帮助:)