获取labelField文本和表单字段值

时间:2016-10-12 12:49:13

标签: javascript forms extjs extjs5

我打算使用labelField和textfield value

的文本构建一个文本

在我的小提琴示例中,fieldLabel的文本是动态创建的。

我想要实现的是生成一个带有fielLabel文本和textfield值的文本。

https://fiddle.sencha.com/#fiddle/1icj

小提琴显示“Homer,Simpson”

我想要达到的目标:“姓名荷马,姓氏辛普森”

在我看来,没有方法可以给出fieldLabel的值。

如何实现这一目标?

有可能以某种方式使用绑定吗?

如果我使用自定义属性,可以获取其值?

2 个答案:

答案 0 :(得分:3)

buttons: [{
        text: 'GetValues',
        handler: function() {
            var formValues = this.up('form').getForm().getValues();
            console.log(formValues);

            var finalValues = [];
            var needsLineBreak = false;

            if (formValues != null) {
                var form=this.up('form'),
                    index=0;
                Ext.iterate(formValues,function(key,val){
                    finalValues += form.getComponent(index).getFieldLabel()+':';
                    finalValues += val + ',';
                    index++;
                });   
              finalValues=finalValues.slice(finalValues.lenght,-1);
            }
             console.log(finalValues);
        }
    }],

答案 1 :(得分:1)

您可以使用getter / setter来实现此功能

items: [{
    fieldLabel: labelName,
    name: 'first',
    get value(){
        return this.fieldLabel +' Homer';
    },
    allowBlank: false,

    myCustomProp: labelName

},{
    fieldLabel: labelLastName,
    name: 'last',
    get value(){
        return this.fieldLabel +' Simpson';
    },
    allowBlank: false
}],