3

我正在尝试基于组合框选择显示文本字段标签属性。为此,我为组合框编写了一个更改侦听器,并且在侦听器上,我正在检查组合框值,并且基于此我必须更改文本字段的 fieldLabel 属性。以下是代码,

                         textfield:

                                 xtype:'textfield',
                                 id:'firstName',
                                 fieldLabel: 'Billing',
                                name: 'firstName',
                                maxLength: 30,
                                enforceMaxLength :true

组合框侦听器方法,

listeners:{
                                    change:function(field, newValue, oldValue)
                                    {   
                                        if(newValue == "billing")
                                        {
                                           var firstName = Ext.getCmp('firstName');     
                                           firstName.fieldLabel = 'Billing'
                                        }
                                        else if(newValue == "shipping"){
                                            var firstName = Ext.getCmp('firstName');
                                             firstName.fieldLabel = 'Shipping'
                                        }
                                        else if(newValue == "recipient"){
                                            var firstName = Ext.getCmp('firstName');
                                             firstName.fieldLabel = 'Receipient'
                                        }
                                    }

在调试此代码时,我可以看到字段值分配给 fieldLabel 属性,但它没有反映在 UI 中。我会在这里想念什么吗?

谢谢。

4

1 回答 1

3

在变量中定义文本字段,例如

var tf = Ext.create('Ext.form.TextField',{
    fieldLabel: 'Billing',
    name: 'firstName',
    maxLength: 30,
    enforceMaxLength: true
});

然后在你的变化监听器中有这样的东西

tf.labelEl.update(newValue)

我可以在 4.1.1 上测试它,但不能在 4.0.0 上测试,但我认为它应该可以工作。这是工作示例的 jsfiddle - http://jsfiddle.net/jaykhimani/xLn8p/

于 2014-06-18T08:51:56.783 回答