由于内部原因,我必须从服务器向组合发送以下json字符串:
{"root":[{"employeeId":1,"user":{"userName":"admin"}}]}
正如您所看到的,用户实际上是一个对象,组合框能够以任何方式读取它吗? 组合配置如下:
,displayField:'user.userName'
,title:'Manager'
,xtype: 'numberfield'
,hiddenName: 'employeeId'
,valueField : 'employeeId'
这是商店:
var store = new Ext.data.JsonStore({
autoLoad: true,
url: "/some_data",
root: 'root',
methos:'POST',
fields:[{name:"employeeId"},{name:"user.userName"}] });
分机不会渲染它,任何解决方案吗?
答案 0 :(得分:1)
使用商店中字段的'mapping'属性将“深”值重新映射为ComboBox随后可以引用的简单名称:
new Ext.form.ComboBox({
fieldLabel: 'Manager',
hiddenName: 'employeeId',
store: new Ext.data.JsonStore({
root: 'root',
url: '/some_data',
method: 'POST',
fields: [
{name: 'employeeId'},
{name: 'userName', mapping: 'user.userName'}
]
}),
displayField: 'userName',
valueField: 'employeeId'
});