2016-04-21 72 views
0

情景很简单。ExtJs添加新记录时删除现有记录

我有一个商店,它从API端点填充。 对于这个例子,我们假设我们在那家商店有一条记录。 关于此的重要细节是我们记录的内部ID是2.

现在,我们创建一个新的模型实例并使用一些数据填充它。添加到商店。此记录的ID为1. Store.add(新模型实例)正常工作。

现在,当我们创建第三条记录并尝试将其添加到商店时,我们遇到了问题。第三条记录的标识为2.我们在商店中存储的第一条记录的标识为2.

第三条记录覆盖第一条记录,发出对从端点获取的记录的删除。

这是一个错误,或者一个功能...

回答

1

它的一个特点,专卖店模式作为记录的唯一标识符idProperty,默认情况下其'id',所以当你试图添加新的记录,记录与同样的'id'已经存在于实际更新现有记录的商店中。

您必须更改商店模型idProperty

+0

谢谢。但是,我确实在模型中为该实体的主键设置了idProperty。当创建模型的新实例时,ID将在客户端生成。保存后,记录将从数据库中重新加载实体的实际ID。 – theturrible

+0

将id设置为其他值确实可以解决问题, – theturrible

+0

也许您必须在从远程源加载实际数据之前为“id''属性生成(伪)随机值? –