将对象加载到表单中

时间:2014-01-17 14:59:49

标签: javascript extjs

我知道如何将商店记录添加到表单中。

但现在我有一个不属于商店的物品。

我使用辅助函数

加载它
var fields = someFormPanel.getForm().getFields();
Ext.each(fields.items,function(field, i) {
    if('name' in field && field.name in obj) field.setValue(obj[field.name]);
});

但之后我问自己是否已经有预定义的功能?

1 个答案:

答案 0 :(得分:1)

您可以使用Ext.form.Basic对象中的setValues方法。如果您使用的是Ext.form.Panel课程,则可以使用getForm()方法获取其基础Ext.form.Basic

var data = {
    firstName: 'Homer',
    lastName: 'Simpson'
}

var form = Ext.create('Ext.form.Panel', {
    title: 'Simple Form',
    bodyPadding: 5,
    width: 350,
    defaultType: 'textfield',
    items: [{
        fieldLabel: 'First Name',
        name: 'firstName',
        allowBlank: false
    },{
        fieldLabel: 'Last Name',
        name: 'lastName',
        allowBlank: false
    }],
    renderTo: Ext.getBody()
});

form.getForm().setValues(data);  

举例说明: https://fiddle.sencha.com/#fiddle/2op