本文主要是介绍初学者比较容易犯的布局错误(手风琴布局),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
从上图面板中那条横线可以很清楚的看出树面板的容器没有使用Fit布局造成了树面板没有填满整个布局,而是根据自身大小进行显示。
实际的代码:
var mainAccirdion = new Ext.Panel({id: "MainAccirdion",region: 'west',split: true,layout: 'accordion',collapsible: true,width: 200,layoutConfig: {titleCollapse: false,animate: true,activeOnTop: true},items: [{title: '病人报告列表',items: [{ items: treepanel, flex: 1, layout: 'fit' }]}]})
代码中,首先存在的问题是,使用了不必要的嵌套布局,其实这个在第一层直接使用treepanel就可以了,没必要再套容器。由于套多了一层布局,就造成了虽然在下一层布局使用了Fit布局,但是还是不能填满顶层容器。
在我的书《Ext JS权威指南》的9.8.2节中有一个示例可供参考,代码如下:
Ext.create("Ext.Viewport",{
layout:{type:"border",padding:5},
items:[
//区域定义
{xtype:"container",region:"north",height:30,
html:"<h1>示例9-5 单页面应用中使用Card实现“页面”切换</h1>"
},
{region:"west",split:true,width:200,minWidth:100,
layout:"accordion",
items:[
{title:"产品管理",xtype:"treepanel",
rootVisible: false,
root: {
text: 'root',id: 'rootProduct',
expanded: true,children:[
{text:"产品管理",id:"Product",leaf:true},
{text:"统计管理",id:"Stat",leaf:true}
]
},
listeners:{itemclick:itemclick}
},
{title:"系统管理",xtype:"treepanel",
rootVisible: false,
root: {
text: 'root',id: 'rootSyetem',
expanded: true,children:[
{text:"用户管理",id:"User",leaf:true},
{text:"系统设置",id:"System",leaf:true}
]
},
listeners:{itemclick:itemclick}
}
]
},
{region:"center",layout:'card',border:false,
id:"ContentPage",loader:true,
items:[
{title:"产品管理",id:"ProductContent",tbar:[
{text:"增加"},{text:"编辑"},{text:"删除"}
]}
],
listeners:{
add:function(cmp,con,pos){
if(this.items.length>1){
this.getLayout().setActiveItem(pos);
}
}
}
}
]
})
这篇关于初学者比较容易犯的布局错误(手风琴布局)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!