';getNewRecords';添加非幻影记录Extjs时返回空数组
我需要将一个非幻影记录从一个存储区(ItemStore)添加到另一个存储区(ItemEvaluacionStore)。记录已经分配了id,因此getNewRecords函数返回一个空数组,而不是一个包含我已经插入的新记录的数组。';getNewRecords';添加非幻影记录Extjs时返回空数组,extjs,store,record,Extjs,Store,Record,我需要将一个非幻影记录从一个存储区(ItemStore)添加到另一个存储区(ItemEvaluacionStore)。记录已经分配了id,因此getNewRecords函数返回一个空数组,而不是一个包含我已经插入的新记录的数组。 文档中有如下内容: getNewRecords():Ext.data.Model[]返回所有模型实例 当前为幻影(例如,没有id)或具有id 但尚未保存在此存储中(将其他存储中的非幻影记录添加到此存储时会发生这种情况) 自:4.0.0起提供 我使用了insert和add
文档中有如下内容:
getNewRecords():Ext.data.Model[]
返回所有模型实例 当前为幻影(例如,没有id)或具有id 但尚未保存在此存储中(将其他存储中的非幻影记录添加到此存储时会发生这种情况) 自:4.0.0起提供 我使用了insert和add方法,但得到了相同的结果。 该记录实际上已添加到itemEvaluacionStore,我在控制台中打印该记录时可以看到这一点。顺便说一下,我正在使用ExtJS4.1.1 如何将新记录插入itemEvaluacionStore?请参见以下商店和型号的代码: 项目存储:
Ext.define('RH.store.evaluaciones.ItemStore', {
extend: 'Ext.data.Store',
model: 'RH.model.evaluaciones.Item',
autoLoad: true,
autoSync: false
});
项目:
ItemEvaluacionStore:
Ext.define('RH.store.evaluaciones.ItemEvaluacionStore', {
extend: 'Ext.data.Store',
model: 'RH.model.evaluaciones.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);
不要在用于插入记录的对象中添加ID属性
{
nomber_item: 'xyz',
Description_item: 'abc'
}
这将解决问题。你如何在商店中添加记录?你能分享你的代码吗?@RonakPatel,刚刚编辑了帖子以显示代码是的,我知道。这就是为什么我引用了关于这个函数的文档。它清楚地写着“…或者有一个ID但尚未保存在此存储上”,这正是我的情况,但它不起作用…我添加了一个ID为的记录,但存储无法识别添加的新记录:(请参考此问题:
{
nomber_item: 'xyz',
Description_item: 'abc'
}