ExtJS4.2组合框没有显示模型字段,该字段是字段的组合?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (62)

我遇到了一个相当有趣的问题。我有一个使用模型的商店。我的模型看起来像这样:

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

然后这个商店由ComboBox使用,组合框如下所示:

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'

我使用组合字段device_name_and_id作为组合框的显示字段。但是,当我重新加载我的网站时,似乎ComboBox无法正确显示该字段。当我使用其他字段时,device_id显示得很好。它只是不显示组合字段,我不知道为什么。

在我加载商店并显示所有字段后,我将值记录到控制台,甚至是组合字段。所以我真的很困惑为什么ComboBox无法正常显示?

有谁知道如何在组合框中显示“转换”字段?

提问于
用户回答回答于

请检查小提琴下面

https://fiddle.sencha.com/#view/editor&fiddle/1m9t

    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
});

所属标签

可能回答问题的人

  • 爸爸

    腾讯 · 客户端安全 (已认证)

    4 粉丝4 提问5 回答
  • 找虫虫

    0 粉丝0 提问5 回答
  • 不吃貓的鱼oo

    5 粉丝466 提问4 回答
  • uncle_light

    5 粉丝518 提问4 回答

扫码关注云+社区

领取腾讯云代金券