Extjs 4.2,窗口最大化时如何忽略 maxHeight
配置?
我想制作全屏窗口。
这是我在 jsfiddle 中的演示代码。
Ext.onReady(function() {
Ext.create('Ext.window.Window',{
title: 'Hello',
maximizable: true,
width: 400,
height: 300,
maxHeight: 350
}).show();
});
最佳答案
准备好进行重大黑客攻击了吗?
function realMaximize(){
if(this.maxInternal){
return;
}
if(this.maximized){
this.oldMaxHeight = this.maxHeight;
this.maxHeight = undefined;
this.maxInternal = true;
this.restore();
this.maximize();
this.maxInternal = false;
}else{
this.maxHeight = this.oldMaxHeight;
}
}
Ext.onReady(function() {
var w = Ext.create('Ext.window.Window',{
title: 'Hello',
maximizable: true,
width: 400,
height: 300,
maxHeight: 350
});
w.addListener('maximize',realMaximize);
w.show();
});
呃!可怕。它有什么作用?当它检测到最大化时,它会存储当前的最大高度并将其删除。然后它会切换最大化,以便 UI 更新以尊重这个新的最大值(也许有更好的方法?)。最后,它必须设置并检查一个标志,否则会陷入无限循环(maximize
再次调用该函数)。
回到窗口化并不难;记住的大小必须正确,所以我们不需要递归调用该函数。
关于javascript - Extjs,最大化窗口时如何忽略maxHeight?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19011963/