Ext4 ComboBox组件使用

时间:2023-03-09 02:02:06
Ext4 ComboBox组件使用

    先来看例子:

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’:‘湖西’}]}