ExtJs combobox 自定义过滤-模糊过滤

本文介绍如何在ExtJS中实现ComboBox的自定义模糊过滤功能。通过重写doQuery方法,可以根据用户输入的文本对ComboBox的选项进行实时模糊匹配过滤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ExtJs combobox 自定义过滤-模糊过滤.

 

其实是复制ComboBox的doQuery方法体,进行修改..

 

 

        this.myCombo.on('beforequery',function(qe){
            var combo = qe.combo;
            //q is the text that user inputed.
            var q = qe.query;
            forceAll = qe.forceAll;
            if(forceAll === true || (q.length >= combo.minChars)){
                if(combo.lastQuery !== q){
                    combo.lastQuery = q;
                    if(combo.mode == 'local'){
                        combo.selectedIndex = -1;
                        if(forceAll){
                            combo.store.clearFilter();
                        }else{
                            combo.store.filterBy(function(record,id){
                                var text = record.get(combo.displayField);
                                //在这里写自己的过滤代码
                                return (text.indexOf(q)!=-1);
                            });
                        }
                        combo.onLoad();
                    }else{
                        combo.store.baseParams[combo.queryParam] = q;
                        combo.store.load({
                            params: combo.getParams(q)
                        });
                        combo.expand();
                    }
                }else{
                    combo.selectedIndex = -1;
                    combo.onLoad();
                }
            }
            return false;
        });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值