Javascript ExtJS调试";[E] “布局运行失败”;(在自定义组件中)

Javascript ExtJS调试";[E] “布局运行失败”;(在自定义组件中),javascript,extjs,extjs4,Javascript,Extjs,Extjs4,我开发了一个使用网格而不是标准的组合选择器(主要是为了从具有巨大数据集的缓冲渲染中获益)的应用程序。我现在试图使其与Ext 4.2.1兼容,但遇到以下错误: [E] Layout run failed 请参阅测试用例。每个组合都会引发一次错误,但仅在第一次扩展时才会引发 4.2.0没有出现此错误(请参阅)。当时我在4.2.1中发现的突破性变化是关于查询过滤器,而不是渲染或布局。。。然而,我已经在4.2.0中遇到了这个错误,在这种情况下,网格选择器位于窗口中,但它位于具有大量重写的代码库中,并且

我开发了一个使用网格而不是标准的组合选择器(主要是为了从具有巨大数据集的缓冲渲染中获益)的应用程序。我现在试图使其与Ext 4.2.1兼容,但遇到以下错误:

[E] Layout run failed
请参阅测试用例。每个组合都会引发一次错误,但仅在第一次扩展时才会引发

4.2.0没有出现此错误(请参阅)。当时我在4.2.1中发现的突破性变化是关于查询过滤器,而不是渲染或布局。。。然而,我已经在4.2.0中遇到了这个错误,在这种情况下,网格选择器位于窗口中,但它位于具有大量重写的代码库中,并且使用了Ext4的沙盒版本。。。因此,我只是跳过它不是来自我的组件,并使其静音(证明网格选择器+窗口不足以触发错误)

这个错误似乎没有任何副作用,但它让我感觉很糟糕

有没有人知道是什么导致了这种情况,或者更好的是,必须采取什么措施来防止这种情况


或者有人对Ext的布局引擎非常了解,能给我一些关于如何追踪此类错误的建议吗?或者至少让我确信错误在任何情况下都是无害的?

实际上是网格面板布局失败了,因为它被设置为收缩包装其内容,但在布局运行时没有内容。解决这个问题的最简单方法是在面板上设置一个宽度(它是您的选择器),这样它就不会再尝试收缩包裹了

请参阅我的请求:


我还建议扩展Picker字段而不是Combobox,Combo可以做很多您可能不需要的事情。看看我在我的MultiSelect ux中是如何处理的:

或者html中有两个相同的ID。要呈现组件的ID已经存在

我有类似的问题,当我删除其中一个,然后“卡”出现


希望有人能从中受益

我在尝试将Ext.tree.Panel添加到具有边框布局的面板时出错。我将其添加为西部,然后在东部添加另一个面板。Extjs对我将树添加到西部或东部位置感到震惊,并抛出了这个错误

我将树面板添加到中间位置,此问题消失。

我在(错误地)更改面板布局时出现此错误:

layout : fit

在某些情况下,面板只添加了一个项目,在这些情况下出现错误


希望此信息对其他人有用。

大多数情况下,由于宽度/高度与布局选项的组合配置错误,布局失败


以下论坛帖子对于解决布局失败错误非常有用,尤其是在嵌套容器期间:

非常感谢!请问你是怎么这么快得出这个结论的?您是必须调试我的代码,还是因为这是导致此错误的常见原因而突然想到这一点?另外,也许你知道为什么4.2.0没有出现这种情况?关于Pikor字段,我确实考虑过构建它,但我希望组件尽可能多地替换组合。我宁愿避免重新实现查询逻辑和所有组合选项(例如,typeAhead、forceSelection等)。我还偷偷地跳,我会得到未来的组合选项免费!我使用PageAnalyzer示例来查找实际失败的布局,并从中着手。我已经解决了许多布局问题,因此这肯定会有所帮助。:)老实说,我不记得我们在4.2.0中有什么;这是一个可怕的错误版本,很多东西都是偶然发生的。到了4.2.1,代码库稳定了下来,但我真的建议升级到4.2.2,因为有大量的修复程序并没有进入4.2.1。再次感谢,我不知道页面分析器工具。我真的很高兴我不能自己解决这个问题!
layout : {
    type: 'vbox',
    align: 'stretch'
}