2016-07-05 174 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

請您爲我們提供您寫的確切代碼來解決此問題嗎? –