2017-06-28 42 views
0

我需要将一个商店(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); 
+0

如何在商店中添加记录可以请您分享您的代码? –

+0

@RonakPatel,刚刚编辑帖子以显示代码 – mauroave

回答

0

不要在您可以使用它插入记录对象添加ID属性。

{ 
    nomber_item: 'xyz', 
    Description_item: 'abc' 
} 

这会解决问题。

+0

是的,我知道。这就是为什么我引用关于这个函数的文档。它清楚地表明_“......或有一个ID,但尚未保存在这家商店”_,这正是我的情况,但它不起作用......我添加了一个带有ID的记录,但商店不'不承认新增记录:( – mauroave

+0

请参考此问题:https://stackoverflow.com/q/44266754/7946109 –