ExtJS清除表格缓存
背景
在使用ExtJS时遇到不少坑,如果不影响使用也无所谓,但是有些不能忍的,比如表格数据缓存问题。如果第一次打开页面查询出一些数据展示在表格中;第二次打开,即使不查询也会有数据,这是缓存的数据。
我们知道ExtJS有个store是负责加载数据的,有时数据需要缓存以便二次利用,如一些公共的字典数据;但是有些数据不能缓存,如表格中的数据几乎都需要重新查询。
解决方案
ExtJS store有个loadData方法,可以用来重新加载数据,传入空数组来清除缓存loadData([],false)。
实例
在页面初始化时清空表格store中的缓存,在控制层(Controller)中添加beforerender事件来实现。
-
beforerender : function(tab, opts) { tab.down('grid').getStore().loadData([],false); }