先来看例子:

Ext.define('schoolModel', {
                extend: 'Ext.data.Model',
                fields: [{
                    name: 'id',
                    type: 'string'
                }, {
                    name: 'name',
                    type: 'string'
                }]
            });
            var schoolstore = Ext.create('Ext.data.Store', {
                model: 'schoolModel',
                proxy: {
                    type: 'ajax',
                    url: C_ROOT + "Base/Student/GetSchoolList",
                    reader: {
                        type: 'json',
                        root: 'Record'
                    }
                },
                autoLoad: true
            });
            var schoolCombo = Ext.create('Ext.form.field.ComboBox', {
                valueField: "id",
                displayField: 'name',
                name: 'schoolid',
                store: schoolstore,
                colspan: 1,
                fieldLabel: '所属校区',
                queryMode: "local",
                forceSelection: true,//只能选,不能输入文本
                typeAhead: true//如果匹配到已知的值将填充和自动选择键入的文本其余部分
            });

 

  看了官网的例子,模仿了一下,数据怎么都显示不出来,后来发现原来是数据格式问题,当通过远程获取数据时,需要store需要配置reader项,root属性指示从服务端获取到的json串里面数组对应的属性名,比如以上示例中获取到的数据格式为:{‘Record’:[{‘id’:‘01’,‘name’:‘湖东’},{‘id’:‘02’,‘name’:‘湖西’}]}
posted on 2014-03-06 17:24  二豆  阅读(1922)  评论(0编辑  收藏  举报