经常可以看到这样的应用场景,比如在一个list里,通过向下拖动,来刷新数据,

在Sencha Touch里就是通过 Ext.plugin.PullRefresh这个插件实现的。

该plugin的用法非常简单,直接拿过来用就可以,比如官网这个例子http://docs.sencha.com/touch/2-1/#!/api/Ext.plugin.PullRefresh。

但有一个小问题,那就是如果每次刷新的数据有重复,而又不想显示重复的,该如何处理?

如果看该plugin的源代码,其实已经做了是否重复的判断处理,判断的依据是id,这就需要我们在设计model的时候,

要有一个id字段,该id是类似数据库表的key,具有惟一性。

for(i =0; i < length; i++){
    newRecord = newRecords[i];
    oldRecord = oldRecords.getByKey(newRecord.getId());  //根据id查找新的记录是否在原记录集里
if(oldRecord){ oldRecord.set(newRecord.getData()); //如果存在更新原记录
}else{ toInsert.push(newRecord); //如果不存在则插入新的记录
} oldRecord =undefined;
}

 官网的例子里fields:['name','img','text']没有id字段,所以每次取回的内容都会显示,即使是重复的。