GWT EXT的STORE的add方法

store的add方法要求加入的record的id不相同,否则不会被加入。

见ext-all-debug.js的Ext.util.MixedCollection,其add方法为:

add:function(key,o){

if(arguments.length==1){

o=arguments[0];

key=this.getKey(o);

}

if(typeofkey=="undefined"||key===null){

this.length++;

this.items.push(o);

this.keys.push(null);

}else{

varold=this.map[key];

if(old){

returnthis.replace(key,o);

}

this.length++;

this.items.push(o);

this.map[key]=o;

this.keys.push(key);

}

this.fireEvent("add",this.length-1,o,key);

returno;

},

getKey:function(o){

returno.id;

},

如果发现有相同的id,则就会被returnthis.replace(key,o);掉。

可以用Ext.generateId()方法随机生成新的id

相关推荐