更新/修改从dojo数据存储/JsonRestStore检索到的对象

Update/modify object retrieved from dojo datastore/JsonRestStore

本文关键字:检索 对象 JsonRestStore 数据 修改 dojo 更新 存储      更新时间:2023-09-26

我使用的是DOJO JsonRestStore。我修改对象中的字段。

将修改后的对象持久化回数据存储和REST服务的正确过程是什么?

更新:删除了有关网格的信息,因为它不是问题的一部分。

通常情况下,store.save()应该足够了。。。如果没有,则表示您的网格和商店之间存在问题。

显然,我假设返回的项将与数据存储同步。它看起来并不是这样,必须使用手动更新

store.setValue(item, field, value);

我还希望得到一个相当于JPA-merge的命令。如果用覆盖先前的对象

store.newItem( updatedVersionOfItem );

并且该项具有相同的唯一id,它将覆盖类似于merge的旧项。

有人知道是否有某种工厂会为每个字段调用store.setValue()的项创建getter和setter吗?

我想它会是这样的:

var wrappedItem = itemWrapperFactory.createWrapper( item, store );
...
//Some where in createWrapper(...), this is just the concept
for (var itemField in itemFieldList)
this.__defineGetter__( itemField[index] , function(val){
    store.setValue(item, itemField[index], val);      
});

我认为写自己的作品是一件整洁的建筑作品。