朱在铸先生
2017-02-06 02:36
采纳率: 100%
浏览 1.5k
已采纳

extjs4 问题,store.load问题

 businessQueryModule.orgInfoStore = new Ext.data.Store({
    proxy : {
        type : 'ajax',
        url : businessQueryModule.queryUtil + '!queryOrgInfo',
        reader : {
            type : 'json',
            root : "enumerationList"
        }
    },
    fields : [ {
        name : 'enumMeaning'
    }, {
        name : 'enumCode'
    } ]
});
 xtype : "combo",
    readOnly : false,
    editable : false,
    mode : 'local',
    emptyText : '请选择城市',
    valueField : 'enumCode',
    displayField : 'enumMeaning',
    triggerAction : 'all',
    listeners : {
        render : function() {
            Ext.fly(this.el).on('click',function(e,t) {
                    businessQueryModule.orgInfoStore.load({
                            params : {
                                'domainId' : Ext.getCmp(businessQueryModule.idPrefix+ 'domainId').getValue()
                            }
                    });
            });
        },
        'change' : function(obj,newValue, oldValue,eOpts) {
            Ext.getCmp(businessQueryModule.idPrefix + 'equipMentID').clearValue();
            Ext.getCmp(businessQueryModule.idPrefix + 'termID').clearValue();
            Ext.getCmp(businessQueryModule.idPrefix + 'operatorNum').clearValue();
            if(newValue == ""){
                Ext.getCmp(businessQueryModule.idPrefix + 'orgID').clearValue();
            }

        }
    },
    store : businessQueryModule.orgInfoStore,
    margin : '5 0 0 0',
    id : businessQueryModule.idPrefix
            + 'orgID',
    width : 150
}

当点击下拉框后,会先store.load一次,再在监听里面store.load一次。
共load了两次,而且第一次load应为没有传参,后台还会报错。
怎么解决这个问题,我只想在监听里面load就可以了,因为如果params写在外面会取不到对象的值。

2条回答 默认 最新

相关推荐 更多相似问题