我有一个网格面板,“ParentGrid”,用于填充另一个网格,“Childgrid”> 在页面上。
ChildGrid 通过 ParentGrid 选择更改事件的监听器进行填充。默认情况下,当页面加载时,ParentGrid 的第一行被选中,ChildGrid 按预期填充。
ChildGrid 具有类似的功能(行选择事件的处理程序创建一个图表)。 ChildGrid 具有属性 selType: 'checkboxmodel'
并且在页面加载时会填充默认图表,并且 ChildGrid 的所有行都需要选择(我可以做到)。
但问题是,当默认选择 ChildGrid 中的所有行(例如 10 行) 时,该函数将被调用 10 次。 我不想在页面第一次加载时调用此函数。如何在特定情况下取消 'select'
事件,即网格首次加载时?
最佳答案
如果您需要使用 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();
关于javascript - 取消 ExtJS 组件的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25406060/