jquery easyui combobox加载数量过多引起渲染页面缓慢问题

         有些时候,当我们用easyui combobox控件加载页面数据的时候,由于数据量过多(几千几万),而且如果操作频繁的话,进而会引起需要加载半天才能去打开下拉面板,还有可能卡死。其实这种问题主要时间浪费在了渲染下拉面板上面,作者在遇到这种问题的时候也没找到什么解决的,只有改变控件的加载方式,我使用的是筛选加载,即通过输入的文字去加载下拉面板的数据,这样就缓冲了部分时间:

//初始新增下拉框
    $CommonUI.getComboBox('#addorganType').combobox({  
    	url:$WEB_ROOT_PATH+'/basecode/baseCodeCtrl.htm?BLHMI=findBaseCode&dto.baseCode.codeSystem=organType',
    	valueField:'id',
    	textField:'text',
            onSelect:function(record){
            	$.ajax({
	    			   url:$WEB_ROOT_PATH+'/basecode/baseCodeCtrl.htm?BLHMI=findBaseCodeByParameters',
	    			   type: 'post',
	    			   dataType: 'json',
	    			   data:{"dto.baseCode.codeSystem":"organDic","dto.baseCode.comments":record.text},
	    			   success: function(datas){
	    				    var text='';
	    				    //加载combobox,暂时只支持筛选加载下拉数据-注:数量太多时,时间耗在了渲染界面上
	    	                $CommonUI.getComboBox('#addorganName').combobox({  
	    	                    valueField:'id',  
	    	                    textField:'text',
	    	                    data:[],
	    	                    onChange:function(newValue, oldValue){
	    	                    	 var loadData = new Array();
	    	                    	 text=newValue;
	    	                    	 for(var i in datas){
	    	 		 	    			if(text!=''&&(datas[i].id.indexOf(text)>-1||datas[i].text.indexOf(text)>-1)){
	    	 		 	    				loadData.push(datas[i]);
	    	 				        	}
	    	 		 	    		}
	    	                    	$CommonUI.getComboBox('#addorganName').combobox('loadData',loadData);
	    	                    },
	    	                    onLoadSuccess:function(){
	    	                    	if(text!=''){
	    	                    		$CommonUI.getComboBox('#addorganName').combobox('showPanel');
	    	                    	}else{
	    	                    		$CommonUI.getComboBox('#addorganName').combobox('hidePanel');
	    	                    	}
	    	                    }
	    	                });
	    			   }
	    		});
            }
     });

我用的是webui控件,跟easyui原理一致,替换前缀就可用,如果以后找到更好的方法解决,再来跟新!


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

txp1993

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值