2014-02-12 2 views
7

표준 결합 선택기 대신 눈금을 사용하는 custom kind of combo box을 개발했습니다. 주로 거대한 데이터 세트로 버퍼 된 렌더링의 이점을 얻었습니다. 지금은 내선 4.2.1와 호환되도록하기 위해 노력하고 있지만이 오류로 실행 : ExtJS 디버깅 "(E) 레이아웃 실행 실패"(사용자 지정 구성 요소)

[E] Layout run failed 

는, 테스트 케이스의 demo pages를 참조하십시오. 오류는 각 콤보에 대해 한 번 발생하지만 처음으로 확장됩니다.

이 오류는 4.2.0에서 발생하지 않았습니다 (demo page with 4.2.0 참조). 4.2.1 절에서 확인한 주요 변경 사항은 렌더링이나 레이아웃이 아닌 쿼리 필터에 관한 것이 었습니다. 그러나 그리드 선택 도구가 배치 된 상황에서 이미이 오류가 4.2.0에 직면했습니다 창,하지만 그것은 많은 우선 순위를 가진 코드베이스에 있었고 Ext4의 샌드 박스 버전을 사용했습니다 ... 그래서 저는 그냥 내 구성 요소에서 오지는 않았고 침묵 시켰습니다 (another demo page은 그리드 선택 도구와 창으로 충분하지 않음을 증명합니다). 오류를 유발하십시오).

오류는 부작용이없는 것 같지만 기분이 좋지 않습니다.

누군가가 그 원인을 알거나 더 나은 것을 방지하기 위해해야 ​​할 일을 알고 있습니까?

아니면 누군가 이런 종류의 오류를 추적하는 방법에 대한 조언을 해줄 Ext의 레이아웃 엔진을 잘 알고 있습니까? 아니면 적어도 어떤 상황에서도 오류가 무해하다고 확신 할 수 있습니까?

답변

23

실제로 격자 패널 레이아웃은 실패했습니다. 레이아웃 패널은 내용을 줄이기 위해 설정되었지만 레이아웃 실행시 내용이 없었기 때문에 실패했습니다. 이 문제를 해결하는 가장 간단한 방법은 패널 (너의 피커)에 너비를 설정하는 것이므로 더 이상 줄이려고하지 않을 것이다.

내 풀 요청 참조 : 나는 또한 대신 콤보 상자의 선택기 필드를 확장 제안 https://github.com/rixo/GridPicker/pull/3

를, 콤보는 아마 필요가없는 많은 것들을 않습니다. 내 MultiSelect ux에서 어떻게 처리했는지 확인하십시오. https://github.com/nohuhu/Ext.ux.form.field.MultiSelect

+0

고마워 :

포럼 게시물을 수행하면 레이아웃을 해결하는 데 유용 특히 중첩 된 컨테이너 중 오류를 실패! 이 결론에 어떻게 빨리 도달했는지 물어봐 주시겠습니까? 이 오류의 빈번한 원인 때문에 내 코드를 디버그해야 했습니까? 아니면 방금 발생한 것입니까? 또한 4.2.0에서 왜 이런 일이 일어나지 않았는지 알 수 있습니까? Picker 필드에 관해서는 건물을 고려해 봤지만 가능한 한 콤보 대신 드롭 인 대체품을 원했습니다 ... 그리고 저는 쿼리를위한 논리 및 모든 콤보 옵션을 다시 구현하는 것을 피했습니다 (예 : typeAhead, forceSelection 등). 나는 또한 비밀리에 나는 무료로 미래의 콤보 옵션을 얻을 것이다! – rixo

+2

페이지 분석기 예제를 사용하여 어떤 레이아웃이 실제로 실패했는지 파악하고 거기에서갔습니다. 분명히 도움이되도록 여러 레이아웃 문제를 해결했습니다. :) 솔직히 나는 4.2.0에있는 것을 기억하지 못한다; 그것은 끔찍하게 버그가 많은 릴리스 였고 사고로 많은 일들을 사용했습니다. 4.2.1에 의해 코드베이스가 안정화되었지만, 4.2.1로 줄이지 않은 상당한 수의 수정이 있었기 때문에 4.2.2로 업그레이드하는 것이 좋습니다. –

+0

다시 한 번 말씀 드리지만, 저는 페이지 분석기 도구를 알지 못했습니다. 나는 정말로 이것을 나 자신으로 분류 할 수 없었기 때문에 기쁩니다! – rixo

0

또는 두 개의 동일한 ID가 html로 제공됩니다. 구성 요소를 이미 렌더링 할 ID입니다.

비슷한 문제가 있었는데 그 중 하나를 제거하면 '카드'가 나타납니다.

누군가 도움이 되길 바랍니다.

0

경계 레이아웃이있는 패널에 Ext.tree.Panel을 추가하려고 할 때이 오류가 발생했습니다. 서쪽으로, 그리고 동쪽에 또 다른 패널로 추가했습니다. Extjs 내가 서쪽이나 동쪽 위치에 나무를 추가 하고이 오류를 던졌다는 것을 놀라게했다.

내 나무 패널을 중앙 위치에 추가했는데이 문제가 사라졌습니다.

1

(실수로) 난에서 패널의 레이아웃을 변경할 때이 오류가 발생했습니다 : 패널이 하나의 항목 만 추가했다

layout : fit 

어떤 경우에는

layout : { 
    type: 'vbox', 
    align: 'stretch' 
} 

및 이들에 오류가 나타난 경우.

이 정보가 도움이되기를 바랍니다.

관련 문제