在EXTJS中的fieldcontainer下将样式应用于textfield

时间:2014-05-11 10:21:33

标签: extjs extjs4.1

嗨:)我正在定义一个包含此元素的form.Panel

{
            xtype   : 'fieldcontainer',
            layout  : 'hbox',
            anchor  : '100%',
            items   : [{
                xtype: 'textfield',
                fieldLabel: "this is the label",
                id: 'thisIsTheId',
                name: 'indPartiel'
            }]
        }

这个

{
                xtype   : 'fieldcontainer',
                layout  : 'hbox',
                anchor  : '100%',
                items   : [{
                    xtype: 'textfield',
                    fieldLabel: GDR.utils.Resources.getMessage("magasinRetourArticle.indpartiel"),
                    id: 'rma_det_indPartiel',
                    name: 'indPartiel',
                    readOnly:true,
                    hidden:true,
                    flex:1
                }]
            }

所以它是fieldcontainer,其中包含textfield。 我想要的是给我的TEXTFIELD一个新的风格,而不是我的FIELDCONTAINER。 我发现了这个功能:

 myComponent.getTargetEl().setStyle('border', '0px !important');

但是它将样式应用于fieldcontainer而不是textfield。 我在这里乱搞什么? 在此先感谢您的帮助:)

注意:我在创建表单期间没有应用该样式,因为该样式会对其他事件产生影响,并且可能会发生变化。

3 个答案:

答案 0 :(得分:1)

如果您需要将样式应用于textfield(即标签,标签分隔符,输入元素),则需要获取对它的引用,然后:

textfield.getEl().setStyle({....});

如果您希望仅将样式应用于输入元素:

textfield.setFieldStyle({....});

答案 1 :(得分:0)

只需使用cls配置文本框并应用样式。  要在运行时设置它,请使用setFidlStyle()

答案 2 :(得分:0)

解决了!

解决方案是:

c.getTargetEl().down('input').setStyle('border', '0px');