如何在 extJs3 中动态更改 fieldLabel
Posted
技术标签:
【中文标题】如何在 extJs3 中动态更改 fieldLabel【英文标题】:How to dynamically change a fieldLabel in extJs3 【发布时间】:2016-02-25 11:19:21 【问题描述】:表单字段似乎没有 fieldLabel
的更新方法,只能设置为构造函数属性。
xtype: 'textfield',
fieldLabel: 'Field Label Text',
width: 465,
name: 'field_1',
id: 'field_1',
labelSeparator: '',
allowBlank: false,
value: ''
我已经设法改变它:
var field = Ext.getCmp("field_1");
field.el.parent().parent().dom.children[0].innerhtml = "new Label"
但感觉有点hack-ish。
有没有合适的更换标签的方法?
注意:我知道 extJs3 是古老的历史,但我正在做的项目仍在使用这个版本。
【问题讨论】:
【参考方案1】:只需重写 Field 类以添加如下所示的 setFieldLabel 方法,然后使用
fieldObj.setFieldLabel('New Label');
在您的应用程序中的任何位置。
Ext.override(Ext.form.Field,
setFieldLabel : function(text)
if (this.rendered)
this.el.up('.x-form-item', 10, true).child('.x-form-item-label').update(text);
this.fieldLabel = text;
);
干杯!
【讨论】:
以上是关于如何在 extJs3 中动态更改 fieldLabel的主要内容,如果未能解决你的问题,请参考以下文章