我需要在表单更宽然后包含容器时显示滚动条。我在容器上设置属性autoScroll:true,但它不起作用。反正有没有得到我需要的结果?
这是工作示例
代码
Ext.create('Ext.container.Viewport', {
layout: {
header: false,
type: 'border',
padding: 0
},
items: [{
region: 'north',
padding: '0 150 0 150',
height: 36,
html: 'header'
}, {
id:'mainPanelContainer',
autoScroll: true,
padding: '0 150 0 150',
region: 'center',
items:[
{
xtype:'form',
items:[{
xtype: 'container',
flex: 1,
layout: 'anchor',
items: [{
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}, {
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}, {
anchor: '95%',
xtype: 'htmleditor',
fieldLabel: 'Popis',
name: 'Description',
height: 240,
width: 450
}]
}, {
xtype: 'container',
flex: 1,
layout: 'anchor',
items: [{
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}, {
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}, {
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}, {
xtype: 'container',
margin: '0 0 8 0',
layout: 'hbox',
items: [{
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}, {
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}]
}, {
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}]
}]
}
]
}, {
region: 'south',
height: 25,
padding: '0 150 0 150',
html: 'Copyright © 2013'
}]
});
修改
添加布局:'fit'到mainPanelContainer后会出现滚动条,但无法滚动到表单隐藏的右侧。
答案 0 :(得分:7)
在您的编辑小提琴中,更改:
padding: '0 150 0 150',
在中心区域:
margin: '0 150 0 150',
信不信由你,extjs布局不能很好地处理padding属性。我之前用布局遇到了这个问题。看起来在你的例子中,保证金将有助于实现你想要的。另一种实现相同结果的方法是使用边框布局深度嵌套另一个级别,并使用空白区域添加东部和西部区域以模仿填充的行为。
答案 1 :(得分:2)
autoScroll: true
是这样做的方法,但您需要让所有布局都正确才能正常工作。尝试将layout: 'fit'
放在mainPanelContainer
和/或form
上。
答案 2 :(得分:2)
基本上你只需要添加autoScroll属性,如:
autoScroll: true
答案 3 :(得分:0)
如果您删除嵌套表单并将填充放在总体容器(本例中的视口)上,它似乎可以让您了解您所理解的内容。
Ext.create('Ext.container.Viewport', {
padding: '0 150 0 150',
layout: {
header: false,
type: 'border'
},
items: [{
region: 'north',
height: 36,
html: 'header'
}, {
id: 'mainPanelContainer',
autoScroll: true,
region: 'center',
xtype: 'form',
items: [{
xtype: 'container',
flex: 1,
layout: 'anchor',
items: [{
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}, {
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}, {
anchor: '95%',
xtype: 'htmleditor',
fieldLabel: 'Popis',
name: 'Description',
height: 240,
width: 450
}]
}, {
xtype: 'container',
flex: 1,
layout: 'anchor',
items: [{
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}, {
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}, {
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}, {
xtype: 'container',
margin: '0 0 8 0',
layout: 'hbox',
items: [{
xtype: 'textfield',
fieldLabel: 'Names',
name: 'Name'
}, {
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}]
}, {
xtype: 'textfield',
fieldLabel: 'Name',
name: 'Name'
}]
}]
}, {
region: 'south',
height: 25,
html: 'Copyright © 2013'
}]
});