有没有办法在Extjs中禁用Model的“idProperty”?

时间:2015-04-10 13:07:48

标签: extjs sencha-cmd

我有一个简单的模型/代理。当我创建一个模型对象通过REST发送到服务器时,ExtJs正在生成Id并将其值放在我的“id”字段中,这与我的数据冲突。 有没有办法阻止这种行为或解决这个问题?
我看过idProperty Sencha Docs,但我无法解决我的问题。请帮助。

3 个答案:

答案 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。

相关问题