【问题标题】:ngTable how can I filter data programmatically from AngularJS code?ngTable 如何以编程方式从 AngularJS 代码中过滤数据?
【发布时间】:2016-11-30 18:05:20
【问题描述】:

我有一个表格,它是由 ng-Table 生成的。 我在哪里:

<td data-title="'Identity ID'" filter="{ identityId: 'text' }">application.identityId</td>

所以我可以使用表格上的过滤器过滤数据。

但是我怎样才能从某种代码中触发相同的过滤器呢? :

   $scope.applicationsTable.filter("{ identityId: 'test123' }");

【问题讨论】:

  • 在你的控制器中注入 $filter 服务并像这样使用它 $filter('filter')($scope.applicationsTable, {identityId:'test123'},true) 真正的匹配
  • 也许我应该传递一组数据? $scope.applicationsTable.data ?因为我得到错误:[filter:notarray]
  • 但即使我这样做了,我的表格也没有任何变化?也许我应该在此之后触发一些刷新事件?
  • 是的,在你的情况下!这取决于过滤器类型。我展示的是数组!但是你可以使用其他的,比如 $filter('date') 或 $filter('currency') 等等!
  • 你能描述一下你想要什么改变吗?比如排序之类的?

标签: angularjs filter ngtable


【解决方案1】:

为了说明我的意思是example of plunker

FIY,我在示例中使用了 $timeout 5 秒,

  $timeout(function(){
    $scope.datas = $filter('filter')($scope.datas,{id:'24503'},true);
  },5000)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多