我正在尝试根据组合框选择显示文本字段标签属性。为此我为组合框和侦听器编写了一个更改侦听器,我检查了combox值并基于此我必须更改textfield的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中。我想念一下吗?
感谢。
答案 0 :(得分:2)
在像
这样的变量中定义文本字段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/