参考:http://www.extjs.com/forum/showthread.php?t=88612
var memRegGrid = new Ext.grid.GridPanel({
id: "memRegGrid",
/* code */
listeners: {
rowdblclick: function () {
/* code */
Ext.getCmp("regWindow").close();
}
}
});
var regWindow = new Ext.Window({
id: "regWindow",
items: memRegGrid
})
如果双击记录行时关闭window,但这个时候控制台提示:
this.view is null
解决方法:
rowdblclick: {
fn: function () {
/* code */
Ext.getCmp("regWindow").close();
},
delay: 10
}
原理:延迟10ms执行关闭操作
原因:Ext.grid.GridPanel双击记录时会同时触发一些其他的调用,这个时候还需要使用到grid本身,如果这个时候关闭就会出现上述错误,延迟的10ms关闭就能让其他的一些调用完成。
我在一些其他的应用中也发现了很多类似的问题,如textfiled对象的focus事件,在加载form的同时如果要focus的话必须延迟一段时间执行
本文介绍了一个关于ExtJS中GridPanel组件在双击行时触发关闭窗口导致的错误及其解决方案。通过设置延迟执行关闭操作来避免在其他调用未完成前关闭窗口而引发的错误。
1506

被折叠的 条评论
为什么被折叠?



