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

Why i can't show new Ext.Window twice

本文关键字:显示 Ext Window 两次 不能 为什么      更新时间:2023-09-26

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

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

文件listaBancos.js在divListaBancos中显示了一个带有工具栏按钮的网格,第一次点击按钮"聚合",我看到altabanos .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,
});

当我关闭窗口,然后点击按钮再次窗口不显示。

你能帮我吗?

窗口的默认close动作是close,即,它破坏组件,因此它不能再次使用Ext.geCmp()访问,因为它不再存在于DOM上。要实现您想要的,可以设置closeAction : hide

var cmp = Ext.getCmp('myId');
if(!cmp)
{
cmp = new Ext.Window({
  id : 'myId'
});
}
cmp.show();

选择隐藏而不是重新创建

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

closeAction:'hide'

检查这个

不需要做任何技巧,只需删除您的窗口id。在ExtJS中组件id必须是唯一的