布局运行失败 Extjs

Posted

技术标签:

【中文标题】布局运行失败 Extjs【英文标题】:Layout run failed Extjs 【发布时间】:2012-09-17 06:03:58 【问题描述】:

我在 Extjs4.0 中使用border 布局。它在那里工作得很好。当我将我的库升级到 extjs4.1 时,它显示像 layout run failed 这样的错误,并且面板没有加载。我没有遇到这样的错误,所以请帮我解决这个错误。

我的代码是

Ext.define('TextFit', 
    extend : 'Ext.container.Container',
    title: 'Sample text',
    layout: 
        type : 'border'
    ,
    items : [
        title : 'left panel',
        region : 'west'
    ,
        title : 'Center panel',
        region: 'center'
    ]
);

提前致谢。

【问题讨论】:

我运行了这段代码,但没有收到任何错误。当您收到此错误时? 也许你可以看看这个解释为什么布局会失败的答案:link 【参考方案1】:

尝试添加

layout: 'fit'

到您的边框布局的父容器。我有同样的问题,这为我解决了。

【讨论】:

谢谢!这也是我的问题。 我正在经历同样的问题。谢谢【参考方案2】:

来自 BorderLayout 的文档:

任何具有西部或东部区域的子项都可以配置为初始宽度、Ext.layout.container.Box.flex 值或初始百分比宽度字符串(简单地除以 100 并使用作为弹性值)。 “中心”区域的 flex 值为 1。

同样适用于南北,但高度而不是宽度。

【讨论】:

这就是它失败的原因。只需向西面板添加宽度或设置 flex【参考方案3】:

我在渲染面板之前尝试将一组复杂的(深度嵌套)项目添加到面板时遇到了这个问题。一旦我在面板知道它的尺寸后添加了项目,它就起作用了:

addItems: function() 
    this.on("boxready", function() this.add(items); , this, single: true);  

【讨论】:

【参考方案4】:

尝试为这两个项目添加 flex 属性...这样修改后的代码将是

....

items : [
    title : 'left panel',
    region : 'west',
flex:1 //add here
,
    title : 'Center panel',
    region: 'center',
flex:1 //and here
]

......

【讨论】:

【参考方案5】:

您可以尝试使用:

 <script type="text/javascript" src="extjs/src/diag/layout/Context.js"></script>
 <script type="text/javascript" src="extjs/src/diag/layout/ContextItem.js"></script>

只需将其放入您的 index.html 并检查控制台以查看其中是否有任何错误。 不要介意您看到的大多数警告。

如果出现如下错误:“...仍处于连接/附加状态”,请查看该项目并确保其布局不是锚点。

如果您在控制台中没有任何错误并且仍然存在布局问题,您可以尝试使用页面分析器。

您应该能够在您的 extjs zip 中找到分析器。 如果它部署在您的服务器上,您可以访问:http:///extjs/examples/page-analyzer/page-analyzer.html

【讨论】:

以上是关于布局运行失败 Extjs的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS+django表单提交成功/失败问题

Extjs 4.1 Combo - 查找记录功能失败

一个树网格中的多个插件(失败) - Extjs 4.1

Extjs 4.1 - 网格中检查列中的 CheckboxModel 失败?

Extjs4.2.1 - 将 json 加载到树形面板失败

自定义 UITableViewCell 的自动布局约束在运行时失败