【问题标题】:How can I use a filter to all field in ng-table如何对 ng-table 中的所有字段使用过滤器
【发布时间】:2015-11-18 19:28:01
【问题描述】:

您好,我正在学习 AngularJs,我正在使用 ng-table,但我不知道如何在一个字段中进行多重过滤。

我知道如何进行过滤和排序,我搜索并阅读了但我找不到任何适合我的东西,我想有办法。

谢谢并原谅我的英语。

编辑:这是我的代码

$scope.init = 函数 () { $http.post(slim + 'grupos2', $.extend({}, false, window.seguridad)).then(function(response) { $scope.grupos = 响应;
var data2 = $scope.grupos.data;

            $scope.tableParams = new ngTableParams({
                page: 1,          
                count: 10,        
                filter: {

                },
                 sorting: {
                nombre: 'asc'     
                    }
            }, {
            total: data2.length, 
            getData: function($defer, params) { 

             var orderedData = params.filter() ?
                 $filter('filter')(data2, params.filter()) :
                 data2;


             orderedData = params.sorting() ?
                 $filter('orderBy')(orderedData, params.orderBy()) :
                 orderedData;

                $scope.grupete = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()); 
                params.total(orderedData.length); 
                $defer.resolve($scope.grupete); 
        }
    });
});

            <tr ng-repeat="grupo in grupete">
                <td data-title="'Num'" sortable="'idGrupo'">{{grupo.idGrupo}}</td>
                <td data-title="'Name'" sortable="'name'" filter="{ 'name': 'text' }" >{{grupo.nombre}}</td>
                <td data-title="'Aforo'" sortable="'aforo'" >{{grupo.aforo}}</td>
                <td data-title="'Fecha'" sortable="'fecha'" >{{grupo.fecha.toString()}}</td>

            </tr>
        </table>   

我希望有一个过滤器可以搜索名称等多个字段。

filter="{ 'name': 'text' }"

【问题讨论】:

  • 你能贴出你迄今为止尝试过的任何代码吗?
  • 您可以使用管道运算符在视图中链接多个过滤器。它基本上将一个过滤器的输出作为下一个过滤器的输入。 &lt;tr ng-repeat="grupo in grupete | filter:params.filter | orderBy:params.orderBy()"&gt;
  • 原谅不明白你已经回答了我 cubbuk ,你告诉我的方式是过滤并制作 orderby 字段,就像我拥有的​​代码一样,但我仍然有同样的问题,因为我这样做了field 是董事会几个领域的过滤器,我认为这个问题是新手,但这是我想学习做的事情。
  • 这个想法是使用带来 ng -table 的过滤器之一并使其在所有字段中查找,已尝试使用过滤器制作过滤器但效果不佳,也没有更新数据ng -table 中的每一页

标签: angularjs filter ngtable


【解决方案1】:

您正在寻找的确切行为是通过使用过滤器对象“$”属性来实现的。像这样:

  $scope.tableParams = new ngTableParams({
    // ...       
    filter: {
      $: 'filter string'
    },
  }, {
    // ...
  });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-19
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    • 2017-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多