ExtJS 4.2组合框不显示字段组合的模型字段

ExtJS 4.2组合框不显示字段组合的模型字段,extjs,combobox,Extjs,Combobox,我遇到了一个相当有趣的问题。我有一家商店,它使用一个模型。我的模型如下所示: Ext.define('HealOmni.model.device_model', { extend: 'Ext.data.Model', requires: [ 'Ext.data.Field' ], fields: [ { name: 'device_id' }, { name: 'device_name' }, {

我遇到了一个相当有趣的问题。我有一家商店,它使用一个模型。我的模型如下所示:

Ext.define('HealOmni.model.device_model', {
extend: 'Ext.data.Model',

requires: [
    'Ext.data.Field'
],

fields: [
    {
        name: 'device_id'
    },
    {
        name: 'device_name'
    },
    {
        name: 'device_id_real'
    },
    {
        name: 'sim_number'
    },
    {
        name: 'other_device_details'
    },
    {
        convert: function(v, rec) {
            return rec.get('device_name') + " " + rec.get('device_id_real');
        },
        name: 'device_name_and_id'
    }
]
});
然后这个存储被一个组合框使用,组合框如下所示:

xtype: 'combobox',
height: 30,
itemId: 'deviceID',
fieldLabel: 'Device ID',
labelClsExtra: 'screenSharingFontLowerHalf',
labelSeparator: ' ',
displayField: 'device_name_and_id',
queryMode: 'local',
store: 'userDeviceManagementLoggedInDisplay',
valueField: 'device_id_real'
我使用组合字段设备名称和id作为组合框的显示字段。然而,当我重新加载我的站点时,组合框似乎无法正确显示字段。当我使用其他字段时,比如说device_id,它显示得很好。只有组合字段没有显示,我不知道为什么

加载存储后,我将值记录到控制台,并显示所有字段,甚至是组合字段——因此,对于组合框无法正确显示的原因,我真的很困惑


有人知道如何在组合框中显示转换字段吗

我给你做了一把小小提琴。将此代码与您的代码进行比较,我希望它有助于:

请检查下面的小提琴


模型新字段中缺少逗号
    Ext.define('HealOmni.model.device_model', {
    extend: 'Ext.data.Model',
    fields: [{
        name: 'device_name_and_id',
        convert: function (v, rec) {
            return rec.get('device_name') + " " + rec.get('device_id');
        }
    }]
});
var storeRec = Ext.create('Ext.data.Store', {
    model: 'HealOmni.model.device_model',
    data: [{
        device_id: 1,
        device_name: 'device one with id'
    }, {
        device_id: 2,
        device_name: 'device two with id'
    }]
});

Ext.create('Ext.form.field.ComboBox', {
    renderTo: Ext.getBody(),
    valueField: 'device_id',
    displayField: 'device_name_and_id',
    store: storeRec
});