gpt4 book ai didi

javascript - 如何从 Form Extjs 6.0.2 获取 DisplayField 的值?

转载 作者:行者123 更新时间:2023-12-01 01:49:13 24 4
gpt4 key购买 nike

我正在尝试使用 this.up('form').getValues() 从表单获取 dispalyfield 的值。但我得到的是空物体。

有人可以帮我解决这个问题吗? Extjs版本6.0.2

这里是我尝试过的示例代码:

Ext.create('Ext.form.Panel', {
renderTo: Ext.getBody(),
width: 175,
height: 150,
bodyPadding: 10,
title: 'Final Score',
items: [{
xtype: 'displayfield',
fieldLabel: 'Home',
name: 'home_score',
value: '10'
}, {
xtype: 'displayfield',
fieldLabel: 'Visitor',
name: 'visitor_score',
value: '11'
}],
buttons: [{
text: 'Update',
handler: function (button, e) {
var form = this.up('form');
var values = form.getValues();

Ext.log({
msg: "values: ",
values
});

Ext.log({
msg: "Home: " + values.home_score
});

Ext.log({
msg: "Visitor: " + values.visitor_score
});

}
}]
});

注意:显示字段 ----- Ext.getCmp("someID").getValue() 我尝试获取该值。但我想从表单中获取和设置 dispalyfield 的值,而不需要 getCmp 和 ID。

最佳答案

为此,您需要使用 form.getForm()它将返回 Ext.form.Basic 表单。现在您需要使用getFieldValues()用于获取值和 setValues()用于设置字段的值。

在此Fiddle ,我使用上面的方法创建了一个演示。

代码片段

Ext.application({
name: 'Fiddle',

launch: function () {
Ext.create('Ext.form.Panel', {
renderTo: Ext.getBody(),
width: 175,
height: 150,
bodyPadding: 10,
title: 'Final Score',
items: [{
xtype: 'displayfield',
fieldLabel: 'Home',
name: 'home_score',
value: '10'
}, {
xtype: 'displayfield',
fieldLabel: 'Visitor',
name: 'visitor_score',
value: '11'
}],
buttons: [{
text: 'Update',
handler: function (button, e) {
var form = this.up('form').getForm(),
values = form.getFieldValues();

Ext.log({
msg: "values: " + Ext.encode(values)
});

Ext.log({
msg: "Home: " + values.home_score
});

Ext.log({
msg: "Visitor: " + values.visitor_score
});

form.setValues({
home_score: 100,
visitor_score: 111
});
}
}]
});
}
});

关于javascript - 如何从 Form Extjs 6.0.2 获取 DisplayField 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51701199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com