我有一个复选框,触发一个功能,打开一个带有网格和表单的小窗口。
如果closeAction:'close'
关闭后窗口没有重新打开(某些错误)。
如果closeAction:'hide'
窗口重新打开,而不是其项目。
我知道我可以通过id:Ext.id()
来解决问题,尽管我有其他使用id的函数。
有没有办法重新打开窗口没有这些问题?
创建窗口的部分功能,没什么不寻常的:
var errWindow = new Ext.Window({
width:300,
title:headerStr,
closeAction:'hide',
items: [errForm,problemsGrid]
});
errWindow.show();
表单中的项目的ID类似于:“textfieldNumber1”。没有id的everithing工作正常,但有了它们我得到这个
答案 0 :(得分:5)
如果您使用默认的closeAction: 'close'
,则无法使用show()
重新打开该窗口。如果您使用closeAction: 'hide'
,则可以显示和隐藏窗口,但您必须使用hide()
和show()
调用执行此操作。无论close()
设置为什么,对closeAction
的调用都会破坏窗口。
答案 1 :(得分:1)
是否要在用户点击关闭时销毁您的表单,同时保持窗口隐藏以便重复使用?
如果是的话,
此外,您需要添加新表单(因为您已将其销毁),同时再次显示窗口。听 beforeShow 来做到这一点。
答案 2 :(得分:0)
我遇到了同样的问题。正如“Narenda Kamma”之前已经提到的那样,需要先听之前关闭然后调用destroy函数。见下面的例子
var me = this
this.window.on("beforeclose",
function (com, eOpts) { me.closeWindow() });