以下配置适用于4.07但不适用4.1。
在4.1上我可以看到我的组合有3个项目。它只是没有读取displayField和valueField。
我正在使用mvc架构。
在我看来
{
xtype: 'combobox',
id: 'ProofRequired',
name: 'ProofRequired',
fieldLabel: 'Proof Required',
displayField: 'Name',
store: 'ProofRequired',
triggerAction: 'all',
queryMode: 'local',
valueField: 'Id'
},
在我的app.js
中stores: [ 'VarnishType'],
和我的商店
Ext.define('Mis.store.ProofRequired', { extend: 'Ext.data.Store',
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
autoLoad: true,
storeId: 'ProofRequired',
clearOnPageLoad: false,
data: [
{
Id: '1',
Name: 'Digital'
},
{
Id : '2',
Name : 'PDF'
},
{
Id : '3',
Name : 'Other'
}
],
proxy: {
type: 'ajax',
reader: {
type: 'array'
}
},
fields: [
{
Id: 'Id',
Name: 'Name'
}
]
}, cfg)]);
}
});
答案 0 :(得分:0)
以下对我有用。我百分百肯定为什么。我相信我需要在字段名称周围加上引号。
Ext.define('Mis.store.ProofRequired', {
extend: 'Ext.data.Store',
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
autoLoad: true,
storeId: 'ProofRequired',
clearOnPageLoad: false,
fields: ['Id', 'Name'],
data : [
{"Id":"1", "Name":"Digital"},
{"Id":"2", "Name":"PDF"},
{"Id":"3", "Name":"Other"}
],
proxy: {
type: 'ajax',
reader: {
type: 'array'
}
}
}, cfg)]);
}
});