我想要一个按钮,用户可以点击该按钮清除所有过滤器。我还没有办法这样做。任何提示?我有混合使用默认和自定义列过滤器
<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>
答案 0 :(得分: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
属性。
如果我的示例与您的使用案例不符,请分享您的实际代码,以便我们可以帮助您找出正确的解决方法,直到上面关联的问题关闭为止。