具有自动标识属性

时间:2015-05-23 13:48:18

标签: javascript extjs

我的ExtJS 5.1.0商店存在以下问题。 当我想创建一个包含var m = new (store.model)();的新空模型并将值设置为record.set(values);(来自Ext.form.Panel)时,记录与正常Id相邻,第二个id。第二个看起来像这样:"AM.namespace.model.ServiceContract-2"

是否可以阻止自动生成的ID?

创建我使用:

onAddServiceContract: function (item) {
    this.__form = item.up('form');
    var values = this.__form.getValues();
    var store = this.getStore('ServiceContract');

    var record = new (store.model)();
    record.set('Id', 0000);
    record.set(values);
    record.phantom = true;
    var rec = store.add(record);
}

商店定义为:

Ext.define('AM.####.store.ServiceContract',{
extend: 'AM.####.data.Store',
requires: ['Ext.data.proxy.Direct'],
model: 'AM.####.model.ServiceContract',

remoteGroup: true,

autoLoad: true,
//buffered: true,
pageSize: 1000,
leadingBufferZone: 500,
trailingBufferZone: 500,
autoSync: true,

constructor: function (config) {
    config = Ext.apply({}, config);
    if (!config.proxy) {
        var proxy = {
            type: 'direct',
            reader: {
                idProperty: 'Id',
                rootProperty: 'data',
                type: 'json'
            },
            writer: {
                allowSingle: true,
                writeAllFields: false // Note: Changed in ExtJS 5 to be default false
            },
            api: {
                read: AM.####.ServiceContract.List,
                create: AM.####.ServiceContract.Create,
                update: AM.####.ServiceContract.BulkUpdate,
                destroy: AM.####.ServiceContract.BulkDelete
            }
        };
        config.proxy = proxy;
    }

    this.callParent([config]);
    this.proxy.on('exception', this.onProxyException, this);
}

});

enter image description here

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您可以将idProperty的{​​{1}}修改为其他名称。

例如:

model

以下是sencha docs

中的更多信息

另外,请从文档中注明

  

idProperty可以配置为null,这意味着不会生成识别字段。