Extjs组合框 - 让json得到更深的价值

时间:2011-04-23 18:35:30

标签: json extjs combobox

由于内部原因,我必须从服务器向组合发送以下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"}] });

分机不会渲染它,任何解决方案吗?

1 个答案:

答案 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'
});