ExtJS 4.2 - 最大化然后恢复后,约束窗口未正确定位

时间:2014-07-01 04:56:45

标签: javascript extjs extjs4 position extjs4.2

我在constrainHeader:truemaximizable:true的面板中有一个窗口。我正在使用ExtJS 4.2.1.883。当窗口最大化时,它会扩展以按预期填充面板。然而,当窗口恢复时,它不会返回到它之前的位置,而是略高于预期。

请参阅jsFiddle here

要重现,请单击“添加窗口”按钮,最大化窗口,然后将其还原。我希望这个问题是由于标题和/或工具栏引起的,但我不确定如何适应它。

2 个答案:

答案 0 :(得分:1)

我认为这是一个重新计算包含框大小的错误。每次最大化和恢复时,它都会将窗口向上移动到包含面板工具栏的高度。

哦,这是一个确认的错误案例:http://www.sencha.com/forum/showthread.php?266726

答案 1 :(得分:0)

我最终只是覆盖了Ext.window.Window的maximize方法。窗口计算应该恢复的位置。我改变如下:

//me.restorePos = me.getPosition(true);
me.restorePos = me.getPosition();

来自docs

  

getPosition([local]):Number []获取当前的XY位置   组件的基本元素。

     

自2004年以来可用

     

参数local:Boolean(可选)如果为true则元素的左侧和   返回顶部而不是页面XY。

     

默认为:false

在某些情况下这可能会导致不同的问题,但我没有注意到我的应用程序中存在任何问题,所以我现在就开始使用它了。使用完全覆盖here更新了jsFiddle。