NgTable:如何清除过滤器

时间:2016-04-12 14:57:28

标签: angularjs ngtable

我正在使用带过滤器的ngTable 如何通过单击一个按钮清除过滤器值? 我认为$(".video_nav .item_container > .item").each(function() { var button = $(this); $(button).delay(2000).queue(function(){ alert("test"); button.trigger("click"); }); }); 会重置过滤器,但显然情况并非如此。

谢谢

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:4)

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

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

在控制器中:

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

在视图中:

<div ng-controller="demoCtrl as demo">
  <button class="btn btn-primary pull-right"
          ng-disabled="!demo.tableParams.hasFilter()"
          ng-click="demo.tableParams.filter({})">
    Clear filters
  </button>
</div>

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

在控制器中:

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

在视图中:

<div ng-controller="demoCtrl">
  <button class="btn btn-primary pull-right"
          ng-disabled="!tableParams.hasFilter()"
          ng-click="tableParams.filter({})">
    Clear filters
  </button>
</div>