Нажмите фильтр в таблице AngularJS - PullRequest
0 голосов
/ 28 апреля 2018

Я хочу отфильтровать свои данные в таблице после нажатия кнопки. Вот мой фильтр:

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 голосов
/ 28 апреля 2018

попробуйте это,

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>
0 голосов
/ 28 апреля 2018

попробуйте

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;
    };
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...