sencha touch change model data of store but load function not work

In the process of my project development,I need to change data of model stored in store of  one list,in order to refresh the list without any unnesscary ajax request.But  after you changed the model in store,when your store load data again,the returned data can not bind to the store.It means that your store could not load new data from server,it show the modified data that you set manually.

Follows is the source code:

 1  mergeData: function(rawData) {
 2         var me = this,
 3             fields = me.getFields().items,
 4             ln = fields.length,
 5             data = me.data,
 6             i, field, fieldName, value, convert;
 7 
 8         for (i = 0; i < ln; i++) {
 9             field = fields[i];
10             fieldName = field.getName();
11             convert = field.getConvert();
12             value = rawData[fieldName];
13 
14             if (value !== undefined && !me.isModified(fieldName)) {//if field is modified,Sencha will do nothing and mantains the dirty data that you                                            //changed manually
15                 if (convert) {
16                     value = convert.call(field, value, me);
17                 }
18 
19                 data[fieldName] = value;
20             }
21         }
22 
23         return this;
24     },
    isModified : function(fieldName) {
        return this.modified.hasOwnProperty(fieldName);
    }

Sencha use this method to judge fields if not modified. And now we want the changed fields be bind data from server,so we just set model.modified={} after you change your data.It works well;

原文地址:https://www.cnblogs.com/fengjian/p/2975051.html