使easyui中combobox限制显示的数量以提升效率(修改源码)

来源:互联网 发布:qq和微信 知乎 编辑:程序博客网 时间:2024/05/29 04:24

在使用combobox做自动补全时,当下拉框数据量大的时候会导致效率大大降低,那么此时我们可以限定每次提示的数据量以提升效率,实现方式如下:

找到以下位置的源码,添加注释为//add的位置的行即可

$.map(qq,function(q){q=$.trim(q);var _978=q;var _979=undefined;var dataSize=0;//addfor(var i=0;i<data.length;i++){var row=data[i];if(opts.filter.call(_974,q,row)){//此处会调用filter过滤dataSize++;//addvar v=row[opts.valueField];var s=row[opts.textField];var g=row[opts.groupField];var item=opts.finder.getEl(_974,v).show();if(s.toLowerCase()==q.toLowerCase()){//如果不需要大小写匹配可将toLowerCase()删除可提升效率_978=v;item.addClass("combobox-item-selected");}if(opts.groupField&&_979!=g){$("#"+_975.groupIdPrefix+"_"+$.inArray(g,_975.groups)).show();_979=g;}}if(opts.showDataSize!=undefined&&opts.showDataSize==dataSize){//addbreak;//add}//add}vv.push(_978);});

然后在combobox的data-options中添加

showDataSize:20

即可实现仅提示20行数据


如何实现本地数据过滤请参考:   

使easyui中combobox控件支持本地数据自动补全


0 0
原创粉丝点击