点击AngularJS

时间:2018-04-28 08:05:33

标签: javascript angularjs

我想在点击按钮后过滤表格中的数据。 这是我的过滤器:

app.filter('eyeFilterFunction',function(){
    return function(data, from) {
        if (!from) return data;
        var items = [];
        angular.forEach(data, function(item){
            if(item.weight != from) {
                items.push(item);
            }
        });
        return items;
    };
});

我的傻瓜:http://plnkr.co/edit/s7tuhKXFSt0Yv5BfI4h0?p=preview

我想要的 - 点击该按钮后,只显示包含weight的表格数据,null中的wehgit不允许显示。 提前感谢您的回答!

2 个答案:

答案 0 :(得分:1)

试试这个

app.filter('eyeFilterFunction',function(){
    return function(data, from) {
        if (typeof from === 'undefined') return data;
        var items = [];
        for(var x of data){
          if(x.weight != from){
            items.push(x);
          }
        }
        return items;
    };
});

答案 1 :(得分:0)

试试这个,

http://plnkr.co/edit/jNid2ZwiDNLrwGx2rnKh?p=preview9rnKsXvEtJrxhOYDMa7o?p=preview

app.filter('eyeFilterFunction', function() {
  return function(data, from) {
    if(!from) return data;
    return data.filter(i => i.weight != null);
  };
});

在模板中,

<tr ng-repeat="n in messages | eyeFilterFunction:filterText">

按钮,

<button class="btn btn-clear btn-sm" ng-click="filterText = !filterText">Filter!</button>