zoukankan      html  css  js  c++  java
  • EXTJS7 combobox 下拉加载数据源码

    Trigger.js

    onClick: function(e) {
    	var me = this,
    	    handler = !me.getDisabled() && me.getHandler(),
    	    field = me.getField(),
    	    focusEl;
    	...
    	// handler = 'onExpandTap' 触发combobox展开按钮点击处理函数
    	    if (handler) {
    	        Ext.callback(handler, me.getScope(), [field, me, e], null, field);
    	    }
    	}
    },
    

    Combobox.js

    // 更新store
    updateStore: function(store, oldStore) {
        var me = this,
        	// 获取combobox queryMode 默认值是remote
            isRemote = me.getQueryMode() === 'remote',
        ...
        // 如果是远端查询模式,则设置store remoteFilter=true,此项将影响store应用过滤时是否重新加载数据
        if (isRemote) {
            store.setRemoteFilter(true);
    	...
    },
    // 展开按钮点击处理函数
    onExpandTap: function() {
        var me = this,
        ...
        if (me.expanded) {
            ...
        }
        else if (!me.getReadOnly() && !me.getDisabled()) {
        	// 根据commbobox配置项triggerAction过滤数据,默认为all
            if (triggerAction === 'all') {
                me.doFilter({
                    query: me.getAllQuery(),
                    force: true // overrides the minChars test
                });
            }
            else if (triggerAction === 'last') {
                me.doFilter({
                    query: me.lastQuery.query,
                    force: true // overrides the minChars test
                });
            }
            else {
                me.doFilter({
                    query: me.inputElement.dom.value
                });
            }
        }
    }
    // 过滤下拉框数据
    doFilter: function(query) {
    	...
    	// 发送过滤器集合endupdate事件,触发store执行数据过滤
    	filters.endUpdate();
    	...        
    },
    

    AbstractStore.js

    onFilterEndUpdate: function() {
    	...
    	// 如果是远端过滤,则需要重新加载数据
    	if (me.getRemoteFilter()) {
    	   ...
    	    if (!suppressNext) {
    	    	// 加载数据
    	        me.load();
    	    }
    	}
    	...
    }
    
  • 相关阅读:
    linux下安装tomcat
    linux 中安装mysql8.0
    国家助学贷款
    语句摘录
    Java 今天是否为节假日
    Jfinal框架登陆页面的图形验证码
    ActiveRecord初始化,可以实现jfinal系统启动完成后,再建立数据库连接
    socket 通讯
    datatable的excel导入,其中有关于datatables的很多参数设置
    jfinal form表单提交文件
  • 原文地址:https://www.cnblogs.com/luguojun/p/14294774.html
Copyright © 2011-2022 走看看