2016-10-12 4 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

Спасибо Mr.George. Прекрасно работает. Я отредактировал свою скрипку с вашим решением. – josei

1

вы можете использовать геттер/сеттер для достижения этой функциональности

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? почему этот синтакс? почему значение должно быть сохранено в объекте, как пользовательское свойство? –

+0

Спасибо nathanel за помощью. – josei

Смежные вопросы