0

以下配置适用于 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)]);
    }
});
4

1 回答 1

0

以下对我有用。我100%确定为什么。我相信我需要在字段名称周围加上引号。

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)]);
}

});

于 2012-05-15T12:22:51.107 回答