当重新打开窗口时,Ext.Window.show()保留旧的参数值

我有一个在函数内调用的Ext.Window。通过函数将参数传递给window。当我尝试用新值重新打开window时,window使用旧值执行操作。当重新打开窗口时,Ext.Window.show()保留旧的参数值

这里是我的代码 -

var Win; 

LoadWindow = function (id) {

if (!Win) {

Win = new Ext.Window({

id: 'Pop-win',

layout: 'fit',

width: 650,

modal: true,

height: 450,

closeAction: 'close',

plain: true,

items: [Panel],

listeners: {

close: function (w) {

Win.removeAll();

},

show: function (p) {

Store.reload({

params: {

'ID': id

}

});

}

}

});

}

Win.show();

}

PS:我使用ExtJS的3.4版本

回答:

移动的Store.reload();演出听众的一部分。它引用的id始终是指您第一次创建窗口。

如果此窗口未被频繁使用,只需简单地将其更改为使用closeAction:'destroy',这样您每次都会生成一个新窗口。如果您需要重用它,请在单独重新加载商店的窗口中编写帮助程序函数,然后调用Win.customStoreReload(),然后再调用Win.show()。顺便说一下,closeAction:'close'也不是一个有效的closeAction。配置只能设置为'销毁'或'隐藏'。

LoadWindow = function (id) { 

if (!Win) {

Win = new Ext.Window({

id: 'Pop-win',

layout: 'fit',

width: 650,

modal: true,

height: 450,

closeAction: 'hide', // either 'hide' or 'destroy'. 'close' is not a valid option

plain: true,

items: [Panel],

listeners: {

close: function (w) {

Win.removeAll();

}

}

});

}

Store.reload({params: { 'ID': id }});

Win.show();

}

以上是 当重新打开窗口时,Ext.Window.show()保留旧的参数值 的全部内容, 来源链接: utcz.com/qa/257509.html

回到顶部