一起获取 labelField 文本和表单字段值

Get labelField text and form field values together

我打算用 labelField 的文本和文本字段的值构建一个文本

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

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

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

正如 fiddle 显示 "Homer, Simpson"

我想达到的目标:"Name Homer, Last Name Simpson"

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

如何实现?

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

如果我使用自定义的属性,是否可以获取到它的值呢?

您可以使用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
}],
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);
        }
    }],