当重新打开窗口时,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