参考: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的话必须延迟一段时间执行