我已经建立了一个破损here的工作示例。第一次加载页面时,默认值将加载到表单中。更改数据并刷新时,将显示last-changed-value。但是,在第一个页面视图(再次刷新)之后,不再保留进一步的更改,因为看起来名为my-proxy-undefined
的值正在设置而不是my-proxy-1
更新。发生了什么事?
模型:
Ext.regModel('MyModel', {
fields: [
{name: 'var1', type: 'integer'}
],
proxy: {
type: 'localstorage',
id: 'my-proxy'
}
});
商品:
var myStore = new Ext.data.Store({
model: 'MyModel',
listeners: {
load: function(store, records, successful) {
if (this.getCount() == 0) {
console.log("Count 0, loading defaults");
this.add(app.defaults.vars);
this.sync();
}
myForm.load(store.first());
}
},
autoLoad: true,
autoSave: true
});
更改表单上的侦听器:
listeners:{
change:function(el, newValue, oldValue) {
var maxesRecord = myStore.first();
maxesRecord.set(el.name, newValue);
maxesRecord.save();
}
}
答案 0 :(得分:3)
Ext.regModel('Maxes', {
fields: [
{name: 'id', type: 'integer'},
{name: 'var1', type: 'integer'}
],
proxy: {
type: 'localstorage',
id: 'my-proxy'
}
});
由于可用性错误,您需要将id设置为字段。