[Extjs6]treepanel内数据的过滤实现

 //菜单树过滤
    searchTextChanged:function(node,newValue){
        //console.log("searchTextChanged");
        //console.log(this.lookupReference('treelist'));
        alert('searchTextChanged');
        var _treeStore = this.lookupReference('treelist').getStore();
        var _regExp = new RegExp('.*'+newValue+'.*');
        _treeStore.clearFilter();
        console.log('record');
        console.log(newValue);
        var isLeaf = false;
        _treeStore.filterBy(function(record,id){
            console.log(record);
            console.log(record.data.text);
            if(record.childNodes.length > 0){
                if(_regExp.test(record.data.text)){
                    isLeaf = true;
                }
                else{
                    isLeaf = false;
                }
                return true;
            }else{
                if(isLeaf)
                    return true;
                else
                    return _regExp.test(record.data.text);
            }
        });
    }

【注】若store中存在filter,则每次菜单树的展开 关闭都会执行这个filter

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值