Pergunta

Eu tenho um formulário que tem um fieldcontainer com layout: {type:'vbox'}.

Eu preciso colocar dois campos na mesma linha, mas o radiogroup não está alinhado corretamente.(Anexei a imagem para melhor compreensão).

enter image description here

O código do formulário é o seguinte:

{
    xtype: 'datefield',
    fieldLabel: 'Date',
    format: 'd/m/Y',
    submitFormat: 'Y-m-d H:i:s',
    allowBlank: false,
    disabled: true,
    value: new Date()
}, {
    xtype: 'fieldcontainer',
    fieldLabel: 'Type',
    combineErrors: true,
    defaults: {
        hideLabel: true
    },
    layout: {
        type: 'vbox'
    },
    items: [{
        xtype: 'combobox',
        width: 90,
        store: Ext.create('HolidayType', {
            autoLoad: true
        }),
        displayField: 'Description',
        valueField: 'HolidayTypeId',
        queryMode: 'local',
        allowBlank: false,

    }, {
        xtype: 'radiogroup',
        columns: 2,
        items: [{
                boxLabel: 'Official',
                name: 'RequestInAdvance',
                inputValue: 0,
                checked: true
            }, {
                boxLabel: 'Personal',
                name: 'RequestInAdvance',
                inputValue: 1
            }

        ]
    }]

}, {
    xtype: 'radiogroup',
    fieldLabel: 'Request',
    anchor: '70%',
    columns: 2,
    items: [{
            boxLabel: 'Payable',
            name: 'Request',
            inputValue: 0,
            checked: true
        }, {
            boxLabel: 'Non Payable',
            name: 'Request',
            inputValue: 1
        }

    ]
},

Qualquer pista sobre como posso obter o desejo de comportamento?

ATUALIZAÇÃO

Aqui é o sencha violino: https://fiddle.sencha.com/#fiddle/8ch

Foi útil?

Solução

Você precisa especificar uma largura de colunas ou de todo o grupo de botões de rádio:

xtype: 'radiogroup',
width: 200,
columns: 2,
items: [
    { boxLabel: 'Official', name: 'Request1', inputValue: 0, checked: true },
    { boxLabel: 'Personal', name: 'Request1', inputValue: 1 }
]

Confira o violino: https://fiddle.sencha.com/#fiddle/8cj

Outras dicas

Resolvido:

A solução foi a atribuir a cada uma rádio item de uma largura fixa ou flex:

Aqui é o violino: https://fiddle.sencha.com/#fiddle/8ci

items: [{
        boxLabel: 'Official',
        width: 80,
        padding: '0 0 0 22',
        name: 'Request1',
        inputValue: 0,
        checked: true
    }, {
        boxLabel: 'Personal',
        flex: 1,
        name: 'Request1',
        inputValue: 1
    }

]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top