【问题标题】:How to pass multiple parameters into Ui-grid filter in AngularJs如何将多个参数传递到 AngularJs 中的 Ui-grid 过滤器
【发布时间】:2016-01-21 11:46:13
【问题描述】:

我已经在 AngularJs UI-grid 中创建了一个自定义过滤器。过滤器可以使用单个参数正常工作,但是当涉及多个值时,过滤器效果不佳。请如果有人知道如何将多个参数传递到 UI网格过滤器让我知道。

AngularJs 过滤方法

点击按钮时会执行过滤器,并根据用户名重绘网格。

    $scope.filterData = function(userName) {
           $scope.searchText = userName;
           $scope.tableData.data = $filter('filter')
            ($scope.TestData,
            $scope.searchText, undefined);
//how can i pass multiple param into filter like filtering based on user name and age

    };

【问题讨论】:

    标签: angularjs angular-ui-grid


    【解决方案1】:

    传递任意数量的参数。但是在使用过滤器标签时,请使用函数而不是单个参数。

    请参阅下面的代码以供参考。

    $scope.filterData = function(userName, secndParm, thirdParm,...) {          
               $scope.tableData.data = $filter('filter')
                ($scope.TestData, function (value, key) {
                   return  (value.userName == userName || value.someText == secndParm || value.someAntherText == thirdParm);
                });
    }
    

    【讨论】:

    • value.userName 表示网格中的cel值?
    • 值是您要搜索结果的 Array 的各个对象。因此,通过这种方法,您可以与您想做的每个属性(每个对象的)进行比较。
    猜你喜欢
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    • 2018-04-14
    • 2016-04-26
    相关资源
    最近更新 更多