我们最近将ext-js从4.1更新到4.2。在4.1上,按照下面的代码,可以调整此处使用的vbox的子项的大小。我们可以在这些子项目之间拖动边框,这两个项目都会调整大小。
在4.2没有办法调整这些儿童的尺寸。在指向正确的空间时,甚至光标都不会改变形状。
Ext.define('Example.view.NavPanel', {
extend: 'Ext.panel.Panel',
alias: 'widget.exampleNavPanel',
requires: ['Example.view.example.List', 'Example.view.example2.List', 'Example.view.paneledycji.EditTabPanel'],
layout: {
type: 'vbox',
align: 'stretch',
pack: 'start'
},
items: [
{
xtype: 'panel',
title: 'Navpanel',
collapsible: true,
flex: 1,
layout: {
type: 'hbox',
pack: 'start',
align: 'stretch'
},
items: [
{xtype: 'exampleList', flex: 1},
{xtype: 'example2List', flex: 3}
]
},
{
xtype: 'editTabPanel',
flex: 1
}
]
});我试着添加
resizable:true敬第一个孩子。它使光标在指向边框时改变形状,我可以拖动它.但孩子们不会调整尺寸。当我从第一个孩子身上删除flex时,我终于可以调整项目的大小了,但是它没有什么问题:
我希望能够为上孩子设置最小和最大的高度,最好是百分比,并禁用宽度调整。理想情况下,我也希望能够为两个孩子设置默认大小。我无法用docs.sencha.com列出的任何信任组合来解决这个问题。我要怎样做才能达到这个效果呢?
发布于 2013-09-05 15:24:09
可以在初始布局之后使用flex事件删除boxready属性。这样,您就可以从初始的自动调整大小中获益,但它不会阻止组件稍后被调整大小。
对于第二个问题,请使用resizeHandles选项指定可抓取的用于调整大小的边。
Ext.define('Example.view.NavPanel', {
extend: 'Ext.panel.Panel',
alias: 'widget.exampleNavPanel',
layout: {
type: 'vbox',
align: 'stretch'
},
items: [{
xtype: 'panel',
title: 'Navpanel',
flex: 1,
resizable: true,
resizeHandles: 's',
listeners: {
single: true,
boxready: function() {
delete this.flex;
}
}
},{
xtype: 'component',
html: 'editTabPanel',
flex: 1
}]
});https://stackoverflow.com/questions/18638221
复制相似问题