0

我想要一个用户可以单击以清除所有过滤器的按钮。我还没有找到这样做的方法。有什么提示吗?我混合使用了默认和自定义列过滤器

<clr-datagrid (clrDgRefresh)="refresh($event)" [clrDgLoading]="loading">
  <clr-dg-column [clrDgField]="'healthScore'" class="healthScoreWidth">
  Health
  <clr-dg-filter [clrDgFilter]="refHealthScoreFilter">
      <app-filter-checkbox #refHealthScoreFilter [items]="healthScoreItems" [filter]="healthScoreFilter">
      </app-filter-checkbox>
  </clr-dg-filter>
</clr-dg-column>
<clr-dg-column [clrDgField]="'name'">System</clr-dg-column>
<clr-dg-column [clrDgField]="'serialNumber'">Serial Number</clr-dg-column>
...
</clr-datagrid>
4

1 回答 1

0

我们目前正在研究https://github.com/vmware/clarity/issues/2094,它将提供一种简单的方法来将 Datagrid 的整个状态设置为您需要的任何状态。

同时,您必须单独清除过滤器。你如何做到这一点取决于你使用什么样的过滤器,你的数据网格列是否是动态的并由一个*ngFor或不是生成的,你是否提供了自定义过滤器,......

如果您正在使用默认过滤器,这里是一个示例,说明目前如何执行此操作:https ://stackblitz.com/edit/clarity-datagrid-clear-filters?file=app%2Fapp.component.ts 它@ViewChildren用于获取列,然后filterValue在它们上设置公共属性。

如果我的示例与您的用例不匹配,请分享您的实际代码,以便我们可以帮助您找出正确的解决方法,直到上面链接的问题关闭。

于 2018-04-04T16:45:24.067 回答