背景
在使用ExtJS時遇到不少坑,如果不影響使用也無所謂,但是有些不能忍的,比如表格數據緩存問題。如果第一次打開頁面查詢出一些數據展示在表格中;第二次打開,即使不查詢也會有數據,這是緩存的數據。
我們知道ExtJS有個store是負責加載數據的,有時數據需要緩存以便二次利用,如一些公共的字典數據;但是有些數據不能緩存,如表格中的數據幾乎都需要重新查詢。
解決方案
ExtJS store有個loadData方法,可以用來重新加載數據,傳入空數組來清除緩存loadData([],false)。
實例
在頁面初始化時清空表格store中的緩存,在控制層(Controller)中添加beforerender事件來實現。
-
beforerender : function(tab, opts) { tab.down('grid').getStore().loadData([],false); }