朱在铸先生
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条回答 默认 最新

  • 朱在铸先生 2017-02-06 07:57
    已采纳

    将 proxy 写在事件里面就可以了,用store.setProxy()

    打赏 评论
  •   businessQueryModule.orgInfoStore = new Ext.data.Store({
     autoLoad :false,//////////////////////////////
        proxy : {
            type : 'ajax',
            url : businessQueryModule.queryUtil + '!queryOrgInfo',
            reader : {
                type : 'json',
                root : "enumerationList"
            }
        },
        fields : [ {
            name : 'enumMeaning'
        }, {
            name : 'enumCode'
        } ]
    });
    
    打赏 评论

相关推荐 更多相似问题