关于Ext.window的隐藏(hide)和销毁(close)的问题
来源:互联网 发布:全息生物学 知乎 编辑:程序博客网 时间:2024/05/16 06:54
在这两天的开发中我碰到这样一个问题,在第一次打开window时数据正常,但是第二次及以后打开时现实的额数据任然是第一次打开的数据。
经查找发现此时window调用的关闭方式是hide而不是close,即每次关闭时实质上是没有关闭的只是把window隐藏了而已,此时只要把关闭方法用close即可,而且把closeAction:'close'这样配置即可。
但是此时问题又发生了,此时window打开一次后就无法打开了
代码:
//关闭按钮this.ButtonClose =new Ext.Button({text:'关闭',id:'ButtonClose',width:200});//新增按钮this.ButtonNewAdd =new Ext.Button({text:'新增走访记录',id:'ButtonNewAdd',width:200});//******必须把new window的操作放在这个 show方法里面 否则执行close操作后第二次就无法打开*****this.win = new Ext.Window({id:'checkInfoWin',layout:'fit',width:800,height:500,modal : true,draggable : true,resizable : false,closeAction: 'close', //close 关闭 hide 隐藏animEl:'btnadd',title:"查看客户客走访信息",buttons : [this.ButtonNewAdd, this.ButtonClose],items : this.showTabPanel });this.show = function(id,name){this.win.show();}this.closeWin = function(){this.parentForm.store.reload();this.win.close();}
修改后的:
this.show = function(id,name){//关闭按钮this.ButtonClose =new Ext.Button({text:'关闭',id:'ButtonClose',width:200});//新增按钮this.ButtonNewAdd =new Ext.Button({text:'新增走访记录',id:'ButtonNewAdd',width:200});this.win = new Ext.Window({id:'checkInfoWin', layout:'fit', width:800, height:500, modal : true, draggable : true, resizable : false, closeAction: 'close', //close 关闭 hide 隐藏 animEl:'btnadd', title:"查看客户客走访信息", buttons : [this.ButtonNewAdd, this.ButtonClose], items : this.showTabPanel });this.win.show();} this.closeWin = function(){ this.parentForm.store.reload(); this.win.close(); }
这样修改后 就可以正常的打开了。
ps:注意红色部分的代码,及每段代码的位置.
本人认为出现此种情况的原因:改前 各组件对象只实例化了一次,window关闭后再打开时无法调到该组件,导致window无法显示
而将组件放到show方法里面后,每次调用show方法时组件都会被实例化一次,因此能能够正常显示。
- 关于Ext.window的隐藏(hide)和销毁(close)的问题
- 关于Ext.window的隐藏(hide)和销毁(close)的问题
- Delphi Form的释放和隐藏:free,hide,close
- Delphi Form的释放和隐藏:free,hide,close
- Delphi Form的释放和隐藏:free,hide,close
- ext window close() 问题
- Ext.Window的closeAction为'close'时
- qt窗体close和hide的区别
- 关于手机上不能用window.close的问题
- 关于JavaScript的window对象的open和close方法
- ext window 的问题
- window.returnValue和 window.showModalDialog()和window.close()的使用方法
- 使用window.close()遇到的诡异问题
- 关于JDBC的close问题
- 关于BufferedWrite的close问题
- window对象的open和close方法
- 关于session的销毁问题
- python (hide window)
- linux常用命令妙用
- MTK HTTP 协议之时间操作
- 实现多个ASP.NET跨程序池共享Session [转]
- php编程中经常需要用到一些服务器的一些资料 $_SERVER[]
- (15)- 常用基础知识
- 关于Ext.window的隐藏(hide)和销毁(close)的问题
- 工厂模式理解
- 多个asp.net程序共用Session(sso程序的外设接口)
- oracle存储提纲(stored outline)
- 学习STM32(2)-IO-AFIO(复用功能IO和调试配置)
- Oracle视图
- Spring入门Blog[十一、Spring整合Hibernte]
- 三种对list排序的方法,并实现动态传递字段名对list进行排序
- 使用反射时发生“exception has been thrown to the target of an invocation”异常