当窗口调整大小时,extjs面板调整大小

Sim*_*mon 5 resize extjs panel

我有一个带有"表单"布局的面板,其中包含几个按钮.现在我想根据窗口大小调整启用此面板调整大小.我怎么能这样做?

谢谢.

小智 13

Ext.EventManager.onWindowResize(function(w, h){
    panel.doComponentLayout();
});
Run Code Online (Sandbox Code Playgroud)

假设您有一个名为"panel"的Panel,内置了一些自动调整大小(例如height: "100%").否则,窗口的新宽度和高度将传递给传递给的匿名函数onWindowResize().

  • 在ExtJS 6中,不推荐使用EventManager,因此请使用**Ext.GlobalEvents**:`Ext.GlobalEvents.on('resize',function(w,h){...});` (3认同)

Gre*_*zik 5

正如@deniztt所写,您应该在Windows Resize Event上订阅EventManager类。

可能是这样的:

Ext.EventManager.onWindowResize(function () {

    var width = Ext.getBody().getViewSize().width - 160;
    var height = Ext.getBody().getViewSize().height - 140;

    panel.setSize(width, height);

});
Run Code Online (Sandbox Code Playgroud)

面板引用面板的位置

你可以 在这里阅读


小智 2

您可以通过设置“可调整大小”配置选项来调整面板大小,请参阅各种选项的文档:http ://dev.sencha.com/deploy/ext-4.0.0/docs/api/Ext.panel.Panel .html

至于表单组件如何交互,如果您想使用表单布局或切换到具有各种弹性设置的水平盒/垂直盒类型设置,则需要设置锚点。