如何减少extjs中标签和文本框之间的空间?

时间:2017-11-04 04:53:39

标签: javascript extjs sencha-touch

我想减少标签和文本框之间的空间,你可以在下面的图片中看到, 我使用了ext JS的 Ext.form.field.Text 控件。请参阅此控件的下列代码。

this.temp1min = new Ext.form.field.Text({
            xtype: 'textfield',
            /*  *///labelAlign: 'left',
            //labelWidth: 60,
            //width: '7%',
            //labelStyle: 'padding: 10px 10px;',
            //padding:'0 '
            fieldLabel: 'T1 Min',
            blankText: fleet.Language.get('_FLEET_REQUIRED_ERROR_'),
            //allowBlank: false,
            name: 'temp1min'
        });
        this.temp1max = new Ext.form.field.Text({
            xtype: 'textfield',
            //labelAlign: 'left',
            //labelWidth: 30,
            //width: '6%',
            fieldLabel: 'T1 Max',
            blankText: fleet.Language.get('_FLEET_REQUIRED_ERROR_'),
            // allowBlank: false,
            name: 'temp1max'
        });

和UI,请参见下图。 enter image description here

2 个答案:

答案 0 :(得分:4)

  

您可以使用labelWidth:'auto';

fieldLabel的labelWidth(以像素为单位)。仅在labelAlign设置为“left”或“right”时适用。

我在这里创建了一个sencha fiddle演示。希望这能帮助您解决问题。

Ext.create('Ext.form.Panel', {
    title: 'Label width example',
    width: '100%',
    bodyPadding: 10,
    renderTo: Ext.getBody(),
    defaults: {
      xtype: 'textfield',
        labelWidth: 'auto',
        margin: '0 5',
        allowBlank: false // requires a non-empty value
    },
    layout: 'hbox',
    items: [{
        fieldLabel: 'T1 Min',
        name: 'temp1min'
    },{
        fieldLabel: 'T1 Max',
        name: 'temp1min'
    }, {
        name: 'name',
        fieldLabel: 'Name',
    }, {
        name: 'email',
        fieldLabel: 'Email Address',
        vtype: 'email' // requires value to be a valid email address format
    }]
});

答案 1 :(得分:2)

Labelwidth: 'auto'

在extjs 6.0.x中不起作用,它仅接受数字。

编辑:找到答案。

要在extjs 6.0.x中调整标签和文本字段之间的空间,必须使用以下代码。

labelStyle: 'width: 30px'