关于 angularjs:NgTable :如何清除过滤器

NgTable : how to clear filters

我正在使用带有过滤器的 ngTable。
如何通过单击一个按钮清除过滤器值?
我以为 $scope.tableParams.reload(); 会重置过滤器,但显然不是这样。

谢谢


像这样:$scope.tableParams.filter({});


您可以清除向 tableParams 实例的 filter() 方法提供空对象 ({}) 的过滤器。
查看下面的 ng-click 指令:

如果您使用控制器作为语法:

在控制器中:

1
this.tableParams = new NgTableParams(tableSettings, tableParams);

在视图中:

1
2
3
4
5
  <button class="btn btn-primary pull-right"
          ng-disabled="!demo.tableParams.hasFilter()"
          ng-click="demo.tableParams.filter({})">
    Clear filters
  </button>

如果您使用带有 $scope 语法的控制器:

在控制器中:

1
$scope.tableParams = new NgTableParams(tableSettings, tableParams);

在视图中:

1
2
3
4
5
  <button class="btn btn-primary pull-right"
          ng-disabled="!tableParams.hasFilter()"
          ng-click="tableParams.filter({})">
    Clear filters
  </button>