我需要将一个商店(ItemStore)中的非幻影记录添加到另一个(ItemEvaluacionStore)中。记录已经分配了id,所以getNewRecords函数返回一个空数组,而不是一个包含已经插入的新记录的数组。
在文档说以下内容:
'getNewRecords'在添加非幻影记录时返回空数组Extjs
getNewRecords():Ext.data.Model []
返回所有模型实例 是任一目前的假想(例如具有没有id),或具有ID 但尚未保存在此店铺(这增加从其他商店非幻影记录到这个时候发生)可用,因为:4.0.0
我用插入和添加方法,但得到了相同的结果。 该记录实际上已添加到itemEvaluacionStore,正如我在控制台中打印记录时所看到的。顺便说一句,我正在使用ExtJS 4.1.1。
如何获取插入到itemEvaluacionStore中的新记录?请参阅下面的商店和车型代码:
ItemStore:
Ext.define('RH.store.evaluaciones.ItemStore', {
extend: 'Ext.data.Store',
model: 'RH.model.evaluaciones.Item',
autoLoad: true,
autoSync: false
});
项目:
Ext.define('RH.model.evaluaciones.Item', {
extend: 'Ext.data.Model',
fields: [
'id', 'nombre_item', 'descripcion_item'
],
proxy: {
type: 'rest',
method: 'get',
url: 'app/proxy.evaluacion.php',
extraParams: {
act: 'getAllItems'
},
reader: {
type: 'json',
root: 'results',
successProperty: 'success'
}
}
});
ItemEvaluacionStore:
Ext.define('RH.store.evaluaciones.ItemEvaluacionStore', {
extend: 'Ext.data.Store',
model: 'RH.model.evaluaciones.ItemEvaluacion'
});
ItemEvaluacion:
Ext.define('RH.model.evaluaciones.ItemEvaluacion', {
extend: 'Ext.data.Model',
fields: [
'id', 'nombre_item', 'descripcion_item'
],
autoSync: true,
proxy: {
type: 'ajax',
method: 'GET',
url: 'app/proxy.evaluacion.php',
params: {
act: 'getItems'
},
reader: {
type: 'json',
root: 'results',
successProperty: 'success'
}
}
});
代码添加到店的纪录:
var stoEv = Ext.getStore('evaluaciones.ItemEvaluacionStore');
var newRec = Ext.create('RH.model.evaluaciones.ItemEvaluacion',
{
nombre_item: item.data.nombre_item,
descripcion_item: item.data.descripcion_item,
id: item.data.id
});
stoEv.insert(0,newRec);
如何在商店中添加记录可以请您分享您的代码? –
@RonakPatel,刚刚编辑帖子以显示代码 – mauroave