使用JSON值填充组合框

时间:2018-05-24 13:55:49

标签: extjs

我需要使用JSON数据填充组合框。这是我的商店:

Ext.define('Test.store.GetShopSurvey', {
    extend: 'Ext.data.Store',

    alias: 'store.GetShopSurvey',

    model: 'Test.model.GetShopSurvey',

    storeId: 'GetShopSurvey',

    proxy: {
        type: 'ajax',
        url: 'http://localhost/webcontent/CShopSurveyWebApplet&SubFunc=GetShopSurvey',
        reader: {
            type: 'json',
        }
    }

});

我的观点:

Ext.define('Test.view.main.Announcement',
{
    extend: 'Ext.panel.Panel',

    requires: [
        'Test.view.main.AnnouncementController',
        'Test.view.main.AnnouncementModel',
        'Test.store.Personnel'
    ],

    store: {
        type: 'GetShopSurvey'
    },

其中一项是:

{
    xtype: 'combo',
    fieldLabel: 'Range',
    name: 'Range1',
    store: , //here I need store to load. For example json value is {"range": 70}
    displayField: 'range',
    autoSelect: true,
    forceSelection: true,
    disabled: true
},

我使用名称和数据类型向模型添加了字段。但是,我不知道如何从JSON获取数据并在组合框中解析它。我评论了我需要把这个值放在哪里。

3 个答案:

答案 0 :(得分:0)

你试过了吗?

{
    xtype: 'combo',
    fieldLabel: 'Range',
    name: 'Range1',
    store: 'GetShopSurvey',
    queryMode: 'local',
    displayField: 'range',
    valueField: 'range',
    autoSelect: true,
    forceSelection: true,
    disabled: true
}

如果这不起作用,你能不能给我更多信息,比如toolkit和extjs版本

答案 1 :(得分:0)

您应该先创建一个商店实例,然后再使用它。此外,将其autoLoad配置设置为 true 值。

答案 2 :(得分:0)

尝试loadRawData方法

var jsonData = {'range':500};
combo.getStore().loadRawData(jsonData);