取消ExtJS组件的事件

时间:2014-08-20 13:29:44

标签: javascript extjs extjs4.2

我有一个网格面板 “ParentGrid” ,用于填充另一个网格 “Childgrid” 在页面上。

通过 ParentGrid 选择更改事件中的侦听器填充 ChildGrid 。默认情况下,当页面加载时,会选择 ParentGrid的第一行,并按预期填充 ChildGrid

ChildGrid 具有类似的功能(行选择事件上的处理程序创建图表)。 ChildGrid 具有属性selType: 'checkboxmodel',并且在页面加载时会填充默认图表,并且需要选择 ChildGrid 的所有行(我可以这样做) 。

然而问题是,当默认情况下选择 ChildGrid(例如10)中的所有行时,该函数被称为 10 次。 我不想在第一次加载页面时调用此函数。当网格首次加载时,如何在特定情况下取消'select'事件,

1 个答案:

答案 0 :(得分:0)

如果您需要使用setter以及任何其他内部触发事件的函数调用,您可以在执行某些操作时pause and resume 所有可观察组件上的事件, 例如

// grid: Ext.grid.Panel (or anything else which implements Ext.util.Observable)
grid.suspendEvents(false);  // boolean false discards events which would 
                            // otherwise queue until resumed (below)
// do something...
grid.resumeEvents();