为什么我不能两次显示新的Ext.Window

时间:2011-12-09 03:40:04

标签: javascript extjs window

我有一个带有一个div的html和两个带有Ext Js 3.4.0的脚本

<script type="text/javascript" src="js/listaBancos.js"></script>

文件listaBancos.js在divListaBancos中显示一个带有工具栏按钮的网格,第一次单击“Agregar”按钮,我看到在altaBanco.js中声明的窗口。

============== listaBancos.js中网格的一部分============

 tbar:[{
    text:'Agregar',
    tooltip:'Agrega un banco',
    iconCls:'add',
    handler: agregaBanco
}]

function agregaBanco(){
var win =Ext.getCmp('myWin');
win.show();

}

==============在altaBanco.js中声明的窗口================

var winAltaBanco = new Ext.Window({
    id     : 'myWin',
    height : 250,
    width  : 400,

});

当我关闭窗口时,再次单击按钮,窗口没有显示。

你能帮助我吗?

3 个答案:

答案 0 :(得分:1)

Windows的默认close操作是close,即它会破坏组件,因此无法再次使用Ext.geCmp()访问它,因为DOM上不存在closeAction : hide 1}}了。要实现您想要的目标,请设置var cmp = Ext.getCmp('myId'); if(!cmp) { cmp = new Ext.Window({ id : 'myId' }); } cmp.show();

{{1}}

喜欢隐藏以重新创建。

答案 1 :(得分:0)

确保在窗口配置关闭操作设置为隐藏。

closeAction:'hide'

检查this

答案 2 :(得分:0)

无需制作任何技巧,只需删除您的窗口ID即可。在ExtJS中,组件ID必须是唯一的。