Ext Js:如何从List <string> </string>加载商店

时间:2013-08-27 18:22:38

标签: javascript extjs extjs4

这是我从服务器返回的JSON数据。我没有看到我的组合被加载。这有什么不对?

{"suffixList":["-1","-2","-3"]}

型号:

Ext.define('ExtMVC.model.Suffix', {
    extend: 'Ext.data.Model',
    fields: [
        {name: 'suffix'}
    ]
});

商店:

 Ext.define('ExtMVC.store.Suffixes', {
        extend: 'Ext.data.Store',
        model: 'ExtMVC.model.Suffix',
        autoLoad : false,
        proxy: {
            type: 'ajax',
            url: 'http://'+window.location.host+'/populateCombo',
            reader: {
                type: 'json',
                root: 'suffixList'
            }
        }
    });

查看:

{
                xtype:'combo',
                id: 'suffix',
                name: 'suffix',
                store   : 'Suffixes',
                displayField: 'suffix',
                valueField: 'suffix'
            }

2 个答案:

答案 0 :(得分:1)

您可以使用ArrayStore

new Ext.data.ArrayStore({
    fields: ['suffix'],
    data: {suffixList: ['-1', '-2', '-3']},
    proxy: {
        type:'memory', //'ajax'
        reader: {
            type: 'array',
            root: 'suffixList'
        }
    }
})

答案 1 :(得分:0)

数据格式不正确。每条记录都应该是一个对象,具有商店字段的属性。在您的情况下,数据应如下所示:

{"suffixList":[{"suffix": "-1"},{"suffix": "-2"},{"suffix": "-3"}]}