我有一个简单的模型/代理。当我创建一个模型对象通过REST发送到服务器时,ExtJs正在生成Id并将其值放在我的“id”字段中,这与我的数据冲突。
有没有办法阻止这种行为或解决这个问题?
我看过idProperty Sencha Docs,但我无法解决我的问题。请帮助。
答案 0 :(得分:4)
设置配置选项:persist: false
。
Ext.define('User', {
extend: 'Ext.data.Model',
idProperty : 'login'
fields: [
{name: 'login', type: 'string', persist: false},
{name: 'username', type: 'string'},
{name: 'password', type: 'string'}
]
});
答案 1 :(得分:1)
将idProperty设置为非现有字段。我知道它很脏,但是应该这样做。
Ext.define('User', {
extend: 'Ext.data.Model',
idProperty : 'foo'
});
答案 2 :(得分:1)
我遇到了同样的问题并使用了ajokn的答案,我做到了这一点。
Ext.define('ThemeApp.model.peopleModel', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int', persist: false},
{name: 'xyz', type: 'auto'}
]
}
我没有设置idProperty:'登录'因为它的默认值是' id',所以只需为模型中的id属性设置persist:false。