Центральные кнопки горизонтально формы - PullRequest
2 голосов
/ 31 марта 2012

Может кто-нибудь помочь мне центрировать кнопки по горизонтали формы?Я не знаю, как я могу задать макет vbox с выравниванием по центру элементов кнопок.

Следующий код взят из Документы Sencha .

Ext.create('Ext.form.Panel', {
title: 'Simple Form',
bodyPadding: 5,
width: 350,

// The form will submit an AJAX request to this URL when submitted
url: 'save-form.php',

// Fields will be arranged vertically, stretched to full width
layout: 'anchor',
defaults: {
    anchor: '100%'
},

// The fields
defaultType: 'textfield',
items: [{
    fieldLabel: 'First Name',
    name: 'first',
    allowBlank: false
},{
    fieldLabel: 'Last Name',
    name: 'last',
    allowBlank: false
}],

// Reset and Submit buttons
buttons: [{
    text: 'Reset',
    handler: function() {
        this.up('form').getForm().reset();
    }
}, {
    text: 'Submit',
    formBind: true, //only enabled once the form is valid
    disabled: true,
    handler: function() {
        var form = this.up('form').getForm();
        if (form.isValid()) {
            form.submit({
                success: function(form, action) {
                   Ext.Msg.alert('Success', action.result.msg);
                },
                failure: function(form, action) {
                    Ext.Msg.alert('Failed', action.result.msg);
                }
            });
        }
    }
}],
renderTo: Ext.getBody()
});

IБольшое спасибо за вашу поддержку!

С уважением, шуб

Ответы [ 2 ]

2 голосов
/ 31 марта 2012

Я нашел правильное решение. Вы должны установить только конфигурацию "buttonAlign" в центр.

Ext.create('Ext.form.Panel', {
    title: 'Simple Form',
    bodyPadding: 5,
    width: 350,

    // The form will submit an AJAX request to this URL when submitted
    url: 'save-form.php',

    // Fields will be arranged vertically, stretched to full width
    layout: 'anchor',
    defaults: {
        anchor: '100%'
    },

    // The fields
    defaultType: 'textfield',
    items: [{
        fieldLabel: 'First Name',
        name: 'first',
        allowBlank: false
    },{
        fieldLabel: 'Last Name',
        name: 'last',
        allowBlank: false
    }],
    buttonAlign: 'center',

    // Reset and Submit buttons
    buttons: [{
        text: 'Reset',
        handler: function() {
            this.up('form').getForm().reset();
        }
    }, {
        text: 'Submit',
        formBind: true, //only enabled once the form is valid
        disabled: true,
        handler: function() {
            var form = this.up('form').getForm();
            if (form.isValid()) {
                form.submit({
                    success: function(form, action) {
                       Ext.Msg.alert('Success', action.result.msg);
                    },
                    failure: function(form, action) {
                        Ext.Msg.alert('Failed', action.result.msg);
                    }
                });
            }
        }
    }],
    renderTo: Ext.getBody()
});
0 голосов
/ 31 марта 2012

вы можете использовать "bbar" для этого. отметьте это .

 bbar: {
        layout: 'auto',
        items: {
            xtype: 'container',
            autoEl: 'center',
            defaultType: 'button',
            items: [{
                text: 'Reset',
                handler: function() {
                    this.up('form').getForm().reset();
                }},
            {
                text: 'Submit',
                formBind: true,
                //only enabled once the form is valid
                disabled: true,
                handler: function() {
                    var form = this.up('form').getForm();
                    if (form.isValid()) {
                        form.submit({
                            success: function(form, action) {
                                Ext.Msg.alert('Success', action.result.msg);
                            },
                            failure: function(form, action) {
                                Ext.Msg.alert('Failed', action.result.msg);
                            }
                        });
                    }
                }}]
        }
    }
...