在extjs GridFilters.js中,我们有:
onStateChange : function (event, filter) {
......
...
if ((this.autoReload || this.local) && !this.applyingState) {
//alert('Firing reload');
this.deferredUpdate.delay(this.updateBuffer);
}
}我想这意味着无论什么时候
`this.deferredUpdate.delay(this.updateBuffer);`执行时,将调用reload函数。但通过设置警报,我发现情况并非如此。reload只调用一次(因为它应该调用),尽管
alert('Firing reload'); 出现了很多次。我在这个例子中使用了一个日期过滤器。
为何会这样呢?根据GridFfilters.js类,调用deferredUpdate.delay不会自动触发重新加载吗?
发布于 2011-03-09 13:28:27
GridFilter正在使用Ext的DelayedTask delay method (here),该方法取消任何挂起的延迟方法,并将新的方法排队。因此,您将收到多个警报,但只有一次刷新。
https://stackoverflow.com/questions/5239644
复制相似问题