Я разработал custom kind of combo box, который использует сетку вместо стандартного комбо-сборщика (в основном для получения буферизованной визуализации с огромными наборами данных). Я сейчас пытаюсь сделать его совместимым с Ext 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, чтобы дать мне несколько советов о том, как отслеживать такую ошибку? Или, по крайней мере, дать мне уверенность в том, что ошибка останется безвредной в любой ситуации?
Спасибо большое! Могу ли я спросить, как вы так быстро достигли такого заключения? Нужно было отлаживать мой код или просто это произошло, потому что это частая причина этой ошибки? Кроме того, может быть, у вас есть идея, почему этого не происходит с 4.2.0? Что касается поля Picker, я действительно рассматривал возможность его построения, но я хотел, чтобы компонент был заменой для комбо как можно больше ... И я предпочел избежать повторной реализации логики для запросов и всех комбо-параметров (например, typeAhead, forceSelection и т. д.). Я также тайно прыгал, чтобы получить будущие варианты комбо бесплатно! – rixo
Я использовал пример анализатора страниц, чтобы найти, что макет фактически не прошел, и пошел оттуда. Я устранил ряд проблем с макетами, что определенно помогает. :) Честно говоря, я не помню, что у нас было в 4.2.0; это был ужасно неудачный выпуск, и многие вещи привыкли работать случайно. К 4.2.1 кодовая база стабилизировалась, но я действительно рекомендую обновить до 4.2.2, так как было значительное количество исправлений, которые не сделали резкой в 4.2.1. –
Еще раз спасибо, я не знал инструмент анализатора страниц. Я очень рад, что не смог разобраться в этом сам! – rixo