我有一个模型如下:
Ext.define('MyProject.model.Contact', {
extend: 'Ext.data.Model',
config: {
fields: [
{
name: 'ID'
},
{
name: 'Image'
},
{
name: 'Name'
},
{
name: 'IsSelected'
}
]
}
});
我有一个商店使用这个模型。这个商店有一个组功能如下:
groupFn: function(item) {
if (item.get('Name')) {
return item.get('Name')[0].toUpperCase();
} else {
return ' ';
}
}
我在一个列表视图中显示这个商店,列表视图的模板如下:
<img src="{Image}" height="45" width="45">
<span style="">{Name}</span>
<span style="float:right; padding-right: 40px;">
<input type="checkbox" <tpl if="IsSelected === true">checked="checked"</tpl>/>
</span>
列表如下图所示:
当用户单击列表项时,我将“IsSelected”字段更新如下:
onListItemTap: function(dataview, index, target, record, e, eOpts) {
var isSelected = record.getData().IsSelected;
if (isSelected === true) {
record.set("IsSelected", false);
} else {
record.set("IsSelected", true);
}
}
事件触发后,列表会自动更新。请看下图:
所有选中的项目都移动到组的末尾。有人知道吗?请告诉我为什么以及如何解决这个问题。谢谢。