使用Sencha Touch / Ext JS localstorage重复条目更新值

时间:2011-11-26 11:45:11

标签: extjs sencha-touch local-storage store

我想更新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));
}

1 个答案:

答案 0 :(得分:2)

好的,我找到了解决这个问题的方法。问题与刷新DataView有关。

store.load();
listData.refresh(); // will refresh  Ext.DataView