2

border在 Extjs4.0 中使用布局。它在那里工作得很好。当我将我的库升级到 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'
    }]
});

提前致谢。

4

5 回答 5

11

尝试添加

layout: 'fit'

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

于 2013-05-01T15:16:04.277 回答
2

来自 BorderLayout 的文档:

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

南北类似,但高度而不是宽度。

于 2014-02-27T17:01:41.430 回答
1

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

addItems: function() {
    this.on("boxready", function(){ this.add(items); }, this, {single: true});  
}
于 2014-11-03T13:14:58.120 回答
0

您可以尝试使用:

 <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://< server-address >/extjs/examples/page-analyzer/page-analyzer.html

于 2013-03-29T13:48:45.667 回答
0

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

....

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

……

于 2013-03-27T13:57:59.843 回答