Pregunta

Tengo un formulario que tiene un campoContainer con layout: {type:'vbox'}.

Necesito colocar dos campos en la misma línea, pero el radiogroup no está alineado correctamente.(He adjuntado la imagen para una mejor comprensión).

ingrese la descripción de la imagen aquí

El código de formulario es el siguiente:

{
    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
        }

    ]
},

¿Alguna pista de cómo puedo obtener el comportamiento del deseo?

actualización

Aquí está el violín de Sencha: https://fiddle.sencha.com/#fiddle/8ch

¿Fue útil?

Solución

Debe especificar un ancho para sus columnas o en todo el grupo de radio:

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

Revisa el violín: https://fiddle.sencha.com/#fiddle/8cj

Otros consejos

Resuelto:

La solución fue asignar a cada elemento de radio un ancho fijo o FLEX:

Aquí está el violín: 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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top