一起获取 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);
}
}],
我打算用 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);
}
}],