我想更新localstorage中记录的值。目前它将添加一个具有相同ID的新记录,重复。例如,如果函数更新将执行包含所有id的行(此处为'test-proxy'),那么它将再次附加相同的id。
model.Test = Ext.regModel('model.Test', {
idProperty: 'id',
fields : [ {
name : 'id',
type : 'integer'
}, {
name : 'name',
type : 'string'
}
]});
//Store
store = new Ext.data.Store({
model : 'model.Test',
sorters : 'title',
storeId : 'test',
proxy: {
type: 'localstorage',
id : 'test-proxy',
idProperty: 'id'
}
});
updateName = function(id) {
store.read();
var item = store.getAt(id-1).data;
//toggle
item.name = "Update"
store.add(item);
store.sync();
console.log(store.getAt(id-1));
}
答案 0 :(得分:2)
好的,我找到了解决这个问题的方法。问题与刷新DataView有关。
store.load();
listData.refresh(); // will refresh Ext.DataView