我目前使用setValues()
使用多个对象来填充extjs表单的各个部分。例如:
someForm.getForm().setValues({prop1: foo});
有没有一种方法可以命名表单
object1.prop1
,object2.prop2
等的元素。这样我就可以做一个someForm.getForm().setValues({object1: object1, object2: object2, ...})
吗?即将解析出嵌入的对象。另外,是否有一种方法可以在
POST
映射(object1.prop1
,object1.prop2
,...
)-> object1: {prop1: *, prop2: *, ...}
之前拦截上传?这将比要做诸如
object1.prop1
-> object1_prop1
-> object1.prop1
感谢您的任何帮助,您可以提供
最佳答案
是的,您可以这样做,但是方式与您所指定的方式不同。
将有两种情况:
1)您有一个表格(假设修改),并且您向服务器请求获取数据。
您可以做的是创建一个为表单字段分配名称的模型。并使用服务器中的值分配模型以形成表格。见下文
// define StudentModel with fields firstName, lastName, address, and so on....
// form with fields, please have field attribute 'name' with values defined in model
// e.g. {xtype : 'textfield', name: 'firstName'}, {xtype : 'textfield', name: 'lastName'}, and so on
var form = this.getForm();
form.reader = Ext.create('Ext.data.reader.Json',{ // Use XML reader if you are using XML response.
success: '@success',
model: 'StudentModel'
});
form.load({ // load method will load data automatically from server to form fields
url: '/getStudentData',
params:{
studentId: 24
}
});
2)其他情况是您有本地可用的数据(假设在数组或变量中),并且想要将该数据分配为表格,
使用如下所示的StudentModel创建一条记录,并将记录分配给form:
var record = Ext.create('StudentModel', {
firstName: 'Nandkumar',
lastName: 'Tekale',
address: 'RH 26, some street, city'
});
form.loadRecord(record); // You are done, all values to form are assigned.
关于javascript - extjs-表单中的嵌入式对象/名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18646585/