如何清除Ext JS存储而不影响/删除服务器中的记录

Bdf*_*dfy 24 extjs

我有一个Ext JS网格存储autosave设置为false.

我想只清除本地存储,而不影响/删除服务器中的记录.

如果我尝试store.removeAll(),那么当下一次商店写入发生时,所有记录都将被删除.

如何store.removeAll通过清除所有待处理的更改后进行调用?

小智 51

Store.loadData([],false);
Run Code Online (Sandbox Code Playgroud)

此语句删除本地缓存,而不是向服务器端发送更改


geo*_*ika 6

removeAll有一个静默参数,可用于清除记录而不是从服务器中删除:

http://docs.sencha.com/extjs/3.4.0/#!/api/Ext.data.Store-method-removeAll

gridPanel.store.removeAll(true);
Run Code Online (Sandbox Code Playgroud)

从代码评论:

    if (silent !== true) {  // <-- prevents write-actions when we just want to clear a store.
        this.fireEvent('clear', this, items);
    }
Run Code Online (Sandbox Code Playgroud)

如果您随后手动想要更新GridPanel以清除需要调用的所有行:

gridPanel.view.refresh();
Run Code Online (Sandbox Code Playgroud)