2016-07-05 176 views
0

我有几个面板,我可以拖动它们并将它们放置到其他位置。其中一些已经调整大小手柄来手动改变其高度。如果我拖动一个面板并将其放置在宽度小于面板的地方,并且它的子项(工具栏,标题等)正在改变宽度。但是,当我改变高度,然后拖动上面写的面板,然后只有主面板宽度发生变化,孩子们保持相同的大小。一种面板看起来是这样的:ExtJS 4 - 调整大小后调整大小后调整大小的内部组件不会调整大小resizeHandles

{ 
    xtype: 'panel', 
    layout: 'fit', 
    resizable: true, 
    resizeHandles: 's', 
    draggable: { 
      moveOnDrag: false 
    }, 
    items: [ 
     toolbar or panel or container (depends on the panel) 
    ] 
} 

我在想,它正在改变大小调整后的东西在布局,但我无法找到任何东西。我试图调试它,但几乎不可能找出什么是错的。试过doLayout(),doComponentLayout(),但似乎没有任何工作。现在我没有想法了。

回答

0

好的,所以我在调试这个问题很长一段时间后,我发现,在用resizeHandles调整面板大小后,他们获得了一个宽度属性,拖动后它以某种方式影响面板,所以它不会调整。 解决方案是在调整大小后删除宽度属性,现在它工作正常。

编辑:

代码的听众部分是溶液。也许不是最好的方式,但它的工作原理。

{ 
    xtype: 'panel', 
    layout: 'fit', 
    resizable: true, 
    resizeHandles: 's', 
    draggable: { 
      moveOnDrag: false 
    }, 
    items: [ 
     toolbar or panel or container (depends on the panel) 
    ], 
    listeners: { 
      resize: function(component, ...) { 
        delete component.width; 
      } 
    } 
} 
+0

请您为我们提供您写的确切代码来解决此问题吗? –