2016-10-12 9 views
0

我打算建立与labelField属性的文本和文本字段值获取的labelField文本和表单字段值一起

在我的小提琴例子是动态创建的FieldLabel联合的文本的文本。

我想要实现的是用fielLabel文本和文本字段的值生成文本。

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

由于是小提琴显示“荷马辛普森”

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

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

如何实现这一目标?

这是可能的某种方式,使用绑定?

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

回答

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

谢谢乔治先生。很棒。我用你的解决方案编辑了我的小提琴。 – josei

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 
}], 
+0

为什么添加如果形式等功能为一体的GetValues?为什么这个sintax?为什么值应该像自定义属性一样保存在对象中? –

+0

谢谢nathanel寻求帮助。 – josei