表格过滤器在angularjs

时间:2015-06-18 13:19:37

标签: angularjs

我有来自json文件的日期表。 tr元素的定义是:

<tr data-ng-repeat="map in collection | filter:myFilter">

我还有3个按钮来过滤数据:

<button ng-click="myFilter = {city: 'lodz'}">Łódź</button>
<button ng-click="myFilter = {city: 'rome'}">Rome</button>
<button ng-click="myFilter = {city: 'ny'}">New York</button>

默认情况下,表中包含json文件中的所有数据。我想要实现的是在选择过滤器之前将表格清空。

2 个答案:

答案 0 :(得分:0)

所以你要做的就是覆盖角度filter,结帐我的plnkr

function customFilter($filter) {
  return function (array, expression, comparator) {
    if (isEmpty(expression)){
      return [];
    } else{
      return $filter('filter')(array, expression, comparator);
    }
  };
}


function isEmpty(obj) {
  for(var prop in obj) {
      if(obj.hasOwnProperty(prop))
          return false;
  }

  return true;
}

第一个函数是过滤器,它只包含角度过滤器。第二个函数检查对象是否为空!

答案 1 :(得分:0)

  

默认情况下,表中包含json文件中的所有数据。我想要的是   在选择过滤器之前,要实现的是表格空。

由于您在加载表时不需要任何数据,因此您可以在表格中使用ng-init函数。

<table ng-init="myFilter = {}">
</table>