ExtJS 크기는 브라우저 창 크기에 따라 조정됩니다.
Ext.define('My.view.b.Main', {
extend: 'Ext.panel.Panel',
alias: 'widget.bmain',
//height:'100%',
layout:{
type:'vbox',
align:'center',
},
initComponent: function(){
this.items = [{
xtype: 'bform',
width:'100%',
flex:1
},{
xtype: 'blist',
width:'100%',
flex:4
}];
this.callParent(arguments);
}
});
두 번째 상황: 패널에 두 개의 패널이 박혀 있지만 어느 패널은 높이를 고정해야 한다.같은 부모 패널의layout을 vbox로 설정하지만 하이라이트 속성을'100%'로 동시에 설정해야 합니다. item 설정에서 첫 번째 패널의height를 고정값(예를 들어 100)으로 설정하고 (이view에 대응하는 controller에) afterrender 이벤트를 추가해야 합니다. 이 이벤트 함수에 다른 패널의 크기를 동적으로 지정합니다.
마스터 패널 정의:
Ext.define('My.view.b.Main', {
extend: 'Ext.panel.Panel',
alias: 'widget.bmain',
height:'100%',
layout:{
type:'vbox',
align:'center',
},
initComponent: function(){
this.items = [{
xtype: 'bform',
width:'100%',
height:125
//flex:1
},{
xtype: 'blist',
width:'100%',
//flex:4
}];
this.callParent(arguments);
}
});
대응하는 BController.js
refs:[
{
selector:'bmain',
ref:'bMain'
},{
selector:'blist',
ref:'bList',
}
],
init:function(){
this.control({
'blist':{
afterrender:this.setListHeight
},
});
},
setListHeight: function(me, opts){
me.setHeight(this.getBMain().getSize().height - 135);
},
그러나 상기 두 번째 방법은 페이지를 불러올 때만 적응할 수 있습니다. 불러온 후에 창 크기를 조정하면 List는 창 크기에 따라 자동으로 조정되지 않습니다.
해결 방법:
BController에 있습니다.js에서 메인 패널에 resize 이벤트 함수를 추가합니다. 이 함수는 메인 패널의 크기를 조정할 때 터치합니다. 이 이벤트가 setListHeight () 와 같은 함수를 터치하면 브라우저 창의 크기에 따라 자동으로 조정됩니다 (자체 적응)
resizeListHeight: function(me, width, height, oldwidth, oldheight ){
this.getBList().setHeight(height-135);
},
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fortinet FortiWeb Web Application Firewall Policy BypassFrom: Geffrey Velasquez Date: Wed, 2 May 2012 20:33:23 -0500...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.