Ext의 레이아웃은 Ext에서 디버깅에 버금가는 가장 사람을 미치게 하는 문제이다. 고정된 레이아웃은 prefect가 많지만 복잡한 폼, 동적 스트레칭 상황에 연루되면 레이아웃이 복잡해진다. 실제 프로젝트에서 이런 상황이 적지 않다.
거의 모든 Ext 문제는 공식 포럼에서 해결 방법이 있고 구조도 예외가 아니다
서로 다른 Ext 버전은 컨트롤의 자동 스트레칭 등 속성에 대해 해석이 다르다. 물론 브라우저에 따라 효과가 다르다. 일반적으로 Ext 버전(2.0 이상)을 선택하면 된다. 어떤 버전이든 사람을 미치게 하는 버그가 있다
width: 100% 아무 소용없어...그만 쓰세요
끼워 넣는 것을 최대한 줄인다
레이아웃은 모두viewport에서 시작하는 것이 가장 좋다. 이렇게 하면 많은 스트레칭 효과가 잘 처리될 수 있고 Ext의 레이아웃은 층층이 끼워 넣은 것이기 때문에 가장 바깥쪽의 레이아웃에 문제가 생기고 안의 컨트롤에도 문제가 있을 수 있다
GridColumn 자체 적응 너비 해결: GridPanel의 width를 600px로 고정하고 각 Column의 너비, 예를 들어 300200100, autoExpandColumn을 설정한 다음에 GridPanel 밖에 Panel layout:'fit'를 끼워 넣는다
페이지가 초기화될 때 패널은 접힌 상태이고 안의 모든 레이아웃을 잃어버릴 수 있습니다. 해결 방법은hideMode:'offsets'입니다. 하지만viewport South Panel에 레이아웃 레이아웃(htmleditor+tree panel)을 넣었을 때 트리패널은 살아나지 않습니다.아직 해결되지 않았다
TabPanel에 컨트롤을 다시 끼우면layoutOntabChange:true가 필요합니다. 그렇지 않으면 나오지 않습니다. 그러나 결과는 전환할 때마다 다시 Layout을 하고 상태를 잃어버리는 것입니다
Form이면 frame:true를 추가해 주세요
폼 안의 컨트롤러는render 전에 확인하는 것이 좋습니다. Item을 폼에 직접 추가하면 레이아웃이 혼란스러울 수 있습니다. 이것은 홈페이지에 수많은 댓글이 있고 다양한 해결 방안이 있습니다. 개인적으로 만들 때 폼 내용을 확정하는 경향이 있습니다
포탈에서 모든 포탈렛은 가장 바깥쪽에 패널 레이아웃을 설치하는 것이 좋다:'fit'이렇게 포탈렛의 크기를 조정하면 안에 있는 요소를 스스로 적응할 수 있다. draggable:true를 추가하는 것을 기억해라
포탈 저장 레이아웃은 다음과 같은 멍청한 방법으로 할 수 있다. (홈페이지에 state 포탈 플러그인이 하나 있는데 나는 죽을 힘을 다해 뛸 수 없다.),내 항목은 1개의 Column만 있고, 여러 개의 Column을 합치면 하나의 그룹을 만들 수 있다