Ext JS - 克隆进出商店的最佳方式是什么?
问题描述:
我有一个永久的数据存储。 我想克隆记录到临时数据存储,更改记录,然后将修改后的记录复制回永久存储。Ext JS - 克隆进出商店的最佳方式是什么?
我创建的临时存储这样的: -
permanentStore.each(function (record) {
temporaryStore.add(record.copy());}
);
如何复制回的只有修改的记录? 我是否需要使用所有修改后的记录的id来查找匹配的记录还是还有其他简单的方法吗?
permanentStore.findRecord('Id','temporaryStoreRecordId')
是否有任何干净的克隆方式,以便将更改自动应用到永久存储区?
答
您可以使用clone
方法来克隆所有records
。
var clonerecord = Ext.clone(records);
temporaryStore.add(cloneRecord);
temporaryStore.getModifiedRecords();
得到修改的记录。
temporaryStore.getNewRecords();
获得新记录。
temporaryStore.getRemovedRecords();
获取删除记录。
首先,如果更改自动应用于永久变更,则不是克隆。那么你究竟想要什么?为什么只有在临时存储时才需要从临时存储中找到修改后的记录?您可以直接将您的永久性商店替换为已修改记录的临时商店吗?我的建议是,如果我得到你的要求是正确的,你可以使用Ext.clone。否则,请精心准备 –
@Anindya:您使用的方法可以,但是您可以使用更简洁的方法,只需将商店复制为上述的Harshit即可。现在,要将修改后的记录复制回来,您需要迭代克隆商店并将修改后的记录设置为在原始商店中的相应记录。尝试此操作并进行回复(如果有效) – Tejas
如果记录应该在原位进行编辑,那么您究竟需要一个临时商店? – Alexander