用过滤器实现搜索功能。(先查出全部然后用过滤器过滤)

本文介绍了一种基于AngularJS的过滤器实现方式,该过滤器能够根据条件筛选数据,并结合多种逻辑判断来保留符合条件的数据项。文章详细展示了如何通过receptionCriteria和$scope.filter参数进行数据过滤。

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

神奇好用的过滤器。
当过滤器filter返回TRUE时,该条item会被保留在scope[scope[scope[scope.gridNameArray[$scope.type]].data。

 $scope[$scope.gridNameArray[$scope.type]].data = $scope.searchObj.originalData;
 $scope[$scope.gridNameArray[$scope.type]].data = $scope[$scope.gridNameArray[$scope.type]].data.filter(function (item) {
            var outFlag = false;
            var inFlag = false;
            if (receptionCriteria && JSON.stringify(receptionCriteria) != "\"\"" && JSON.stringify(receptionCriteria) != "{}") {
                for (var column in receptionCriteria) {
                    if (item[column] && item[column] == receptionCriteria[column]) {
                        outFlag = true;
                        break;
                    }
                }
            }else{
                outFlag = true;
            }
            if ($scope.filter) {
                angular.forEach($scope.searchObj.searchColumns, function (value) {
                    if (item[value]) {
                        if (item[value].indexOf($scope.filter) > -1) {
                            inFlag = true;
                            return false;
                        }
                    }
                });
            }else{
                inFlag = true;
            }
            return outFlag && inFlag;
        });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值