Javascript Ext JS 6 can';t右对齐我的按钮xtype

Javascript Ext JS 6 can';t右对齐我的按钮xtype,javascript,extjs,extjs6,Javascript,Extjs,Extjs6,我在ExtJS 6.6中构建了一个非常简单的登录页面,但就我的一生而言,我似乎无法将登录按钮与表单字段的结尾正确对齐。不管我做什么,它都在左边 我如何解决这个问题 我使用的代码如下 items: { xtype: 'form', reference: 'form', items: [{ xtype: 'textfield', name: 'username', fieldLabel: 'Username',

我在ExtJS 6.6中构建了一个非常简单的登录页面,但就我的一生而言,我似乎无法将登录按钮与表单字段的结尾正确对齐。不管我做什么,它都在左边

我如何解决这个问题

我使用的代码如下

items: {
    xtype: 'form',
    reference: 'form',
    items: [{
        xtype: 'textfield',
        name: 'username',
        fieldLabel: 'Username',
        allowBlank: false
    }, {
        xtype: 'textfield',
        name: 'password',
        inputType: 'password',
        fieldLabel: 'Password',
        allowBlank: false
    }, {
        xtype: 'button',
        text: 'Login',
        formBind: true,
        style: {
            marginTop: '10px',
            padding: '5px 15px 5px 15px'
        },
        listeners: {
            click: 'onLoginClick'
        }
    }]
}
两种选择:

  • 将按钮嵌套在具有以下布局的xtype:“容器”中:

    {
        xtype: 'container',
        layout: {
            type: 'vbox',
            align: 'right'
        },
        items: [{
            xtype: 'button',
            text: 'Login',
            formBind: true,
            listeners: {
                click: 'onLoginClick'
            }
        }]
    }
    
  • 在xtype“按钮”上使用属性“边距”

  • 您可以对这样的组件使用config

    bbar: [
      '->',//spliter to shift next component up to end of right
      { xtype: 'button', text: 'Button 1' }
    ]
    
    在这个中,我使用
    bbar
    config创建了一个演示

    代码片段

    Ext.application({
        name: 'Fiddle',
    
        launch: function () {
            Ext.create({
                xtype: 'panel',
                title: 'Login View',
                border: true,
                width: 320,
                renderTo: Ext.getBody(),
                items: {
                    xtype: 'form',
                    reference: 'form',
                    bodyPadding: 15,
                    layout: 'vbox',
                    defaults: {
                        width: '100%'
                    },
                    items: [{
                        xtype: 'textfield',
                        name: 'username',
                        fieldLabel: 'Username',
                        allowBlank: false
                    }, {
                        xtype: 'textfield',
                        name: 'password',
                        inputType: 'password',
                        fieldLabel: 'Password',
                        allowBlank: false
                    }],
                    bbar: ['->', {
                        xtype: 'button',
                        text: 'Login',
                        formBind: true,
                        listeners: {
                            click: 'onLoginClick'
                        }
                    }]
                }
            })
        }
    });
    

    将按钮放置在按钮配置中。它会自动将按钮向右对齐

    buttons:[{
        text: 'Login',
        formBind: true,
        style: {
            marginTop: '10px',
            padding: '5px 15px 5px 15px'
        },
        listeners: {
            click: 'onLoginClick'
        }
    }]
    

    嘿,谢谢你提供的信息,我是新来的,正在学习,我想知道你是否有机会告诉我你的意思?额外的容器需要一个布局,因此:
    {xtype:'container',布局:{type:'vbox',align:'right'},项:[{xtype:'button',文本:'Login',formBind:true,侦听器:{单击:'onLoginClick'}}]}
    虽然我个人更喜欢另一个答案中的bbar选项,但我编辑了答案以更正它,因为注释对于代码片段来说并不太好,但是有什么原因导致按钮从标准蓝色变为浅灰色吗?没有具体的原因取决于您使用的主题。我使用了
    [经典]Neptune Touch
    这就是为什么颜色为灰色谢谢你,我决定选择这个选项。嘿,是的,我最初用过,但我无法摆脱那该死的灰色背景。那么bbar选项更好。