[英]how to recover an extjs4 store?
模型:
Ext.define('Voting', {
extend: 'Ext.data.Model',
hasMany: [
{model: 'VotingQuestion', name: 'questions'}
]
}
和:
grid.bindStore(voting.questions())
然后使用RowEditing添加/編輯/刪除/重新排序網格
之后,如果我單擊“取消”按鈕, 是否有任何簡單的方法可以將“問題”恢復到初始狀態(從服務器重新加載存儲除外)?
謝謝
這取決於您如何實現行編輯功能。 如果您使其能夠實時保留更改,那么恐怕您將不得不致電服務器以將其恢復為初始狀態。
如果您將少量事務的狀態保存在客戶端,則可以使用UnDo / ReDo工具,用戶無需服務器調用即可撤消或重做上一個事務。 從根本上來說,這是一個設計決策,是您希望每次編輯都進行網絡聊天,還是要具有由多個事務組成的粗粒度數據持久性。
您將必須小心並注意應用程序是否設計用於高級別的並發訪問,而不是必須構建用於處理數據完整性的其他機制。
您可以看一下extjs時間軸,其目標狀態
時間線項目是ExtJS接口庫的擴展。 它的目標很簡單:
Provide a framework for undo/redo of user events. Be generic enough for widespread basic use. Be extensible enough for easy customization. Be free to everyone, for any purpose, personal or commercial.
編輯: 檢查此示例,這也具有延遲的持久化數據機制。
也許不直接是您想要的,但是您是否嘗試過
grid.getStore().each(function(record){
record.reject();
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.