【问题标题】:How to dynamically change a fieldLabel in extJs3如何在 extJs3 中动态更改 fieldLabel
【发布时间】: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 是古老的历史,但我正在做的项目仍在使用这个版本。

【问题讨论】:

    标签: javascript 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;
        }
    });
    

    干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-05
      相关资源
      最近更新 更多