Ext.grid.GridPanel双击关闭错误的解决

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

你可能感兴趣的:(PHP,ext)