我将用一个例子解释这个问题: 有两个面板P1& P2(浮动)。我已经将P1指定为P2的showBy.Now,当我销毁/隐藏P1时,理想情况下P2必须被隐藏。但在这种情况下,P2仍然显示。 当P1被隐藏/摧毁时,有什么方法可以自动隐藏这个P2。
答案 0 :(得分:1)
我会像使者建议的那样做。
当p1被破坏或隐藏时,向p1添加一个监听器以隐藏p2。
p1.on('destroy', p2.hide, p2);
p1.on('hide', p2.hide, p2);
答案 1 :(得分:0)
我已经制作了一个完全相同的组件:如果你为它提供了一个“callingWindow”配置,它将showBy
调用窗口,如果调用窗口关闭,它也会关闭。如果你没有为它提供一个callingWindow配置,它就像一个普通的窗口:
Ext.define('MyComponent',{
extend:'Ext.window.Window',
initComponent:function() {
var me = this,
win = me.callingWindow;
Ext.apply(me,{
...
});
me.callParent(arguments);
if(win) {
win.on('beforeclose',function() {
if(me) me.close();
});
me.showBy(win,'tl-tr');
}
else me.show();
},
});
我这样用:
xtype:'button'
handler:function(button) {
Ext.create('MyComponent',{
callingWindow:button.up('window')
});
}