我的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);
}
});
感谢您的帮助!
答案 0 :(得分:1)
您可以将idProperty
的{{1}}修改为其他名称。
例如:
model
以下是sencha docs
中的更多信息另外,请从文档中注明
idProperty可以配置为null,这意味着不会生成识别字段。