6

一旦表单更宽然后包含容器,我需要显示滚动条。我在容器上设置了属性 autoScroll: true ,但它不起作用。反正有没有得到我需要的结果?

这是工作示例

http://jsfiddle.net/mQC3B/2/

编码

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'
        }]
});

编辑

将 layout: 'fit' 添加到 mainPanelContainer 后,会出现滚动条,但无法滚动到表单的隐藏右侧。

http://jsfiddle.net/mQC3B/3/

4

4 回答 4

7

在您进行编辑的小提琴中,更改:

padding: '0 150 0 150',

在中心区域:

margin: '0 150 0 150',

信不信由你,extjs 布局不能很好地处理填充属性。我之前的布局也遇到过这个问题。在您的示例中,margin 可以实现您想要的效果。实现相同结果的另一种方法是使用边框布局嵌套另一个层次,并使用空白空间添加东部和西部区域以模仿填充的行为。

于 2013-08-16T13:32:47.330 回答
2

autoScroll: true是这样做的方法,但你需要让你的所有布局都正确才能工作。尝试穿上layout: 'fit'你的mainPanelContainer和/或你的form.

于 2013-08-14T13:04:32.500 回答
2

基本上你只需要添加 autoScroll 属性,如:

autoScroll: true
于 2014-10-09T14:16:06.183 回答
0

如果您删除嵌套表单并将填充放在总体容器(本示例中的视口)上,它似乎可以让您从我的理解中得到您所追求的。

http://jsfiddle.net/mQC3B/15/

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'
    }]
});
于 2013-08-23T11:54:03.323 回答