2014-01-17 43 views
1

我知道如何将存储记录添加到表单中。将对象加载到表单中

但现在我有一个对象,它不是一个商店的一部分。

我装它使用辅助函数

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

您可以使用方法从Ext.form.Basic对象。如果您使用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