Listview Sencha touch 2:更新存储中的数据时自动触发排序

Listview Sencha touch 2:更新存储中的数据时自动触发排序,listview,sorting,sencha-touch-2,grouping,Listview,Sorting,Sencha Touch 2,Grouping,我有一个包含我的数据的存储。有一个名为“IsSelected”的字段标记每个记录的状态。存储有一个group函数,返回“Name”字段的第一个字符 我在列表视图中显示数据,如下图所示 当用户单击行时,我更新“IsSelected”字段的值,如下所示: onListItemTap: function(dataview, index, target, record, e, eOpts) { var isSelected = record.getData().IsSelected;

我有一个包含我的数据的存储。有一个名为“IsSelected”的字段标记每个记录的状态。存储有一个group函数,返回“Name”字段的第一个字符

我在列表视图中显示数据,如下图所示

当用户单击行时,我更新“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);
    }
}
但当“IsSelected”字段的值更新时,列表将重新加载,数据将自动按此字段排序。请参阅下图:

有人帮我吗?请告诉我原因和如何解决它。谢谢。

请参阅

这将迫使您使用该方法来运行存储


祝你好运,布拉德

非常感谢你,但是我不明白你的意思。你能告诉我更多的细节吗?添加自动加载可以让你控制商店加载的时间。当存储所包含的数据被标记为脏数据时,存储将加载为
true
。由于
false
只有在您对其调用
load()
时,存储才会加载。不过,仔细想想,您的问题可能可以通过向存储添加配置并让它在每次加载时进行排序来解决。