[英]Angular material table custom filter
我正在使用垫表。 我知道内置过滤器。 和filterPredicate
。 但过滤谓词只接受filterValue: string
。 我希望能够通过滑动切换过滤表格并仅显示具有例如isActive
标志为 true 或isActive
标志为 false 的对象。 但是默认过滤器不提供这样的功能。 我自己想出了一些解决方法,但我希望有更好的解决方案。
1)我可以自己过滤数组,但这样我需要保留初始数组并将过滤后的数组传递给表。 而且我不喜欢将两个数组用于相同信息的想法。
2)我可以在更改滑动切换时将特殊值传递给过滤器,例如&@changedToggle-true
并检查过滤器谓词中的该值并仅过滤具有正确 isActive 标志的对象。 但这对我来说仍然不是很好的解决方案。
有什么好的方法可以实现我想要的。
我不知道我是否理解您的问题,但是您可以使用以下内容扩展标准数据源:
YourCustomDatasource extends Datasource<YourObject> {
private objects: Observable<Obj[]>;
filterCustom() {
return objects.filter(elem => elem.isActive)
.map(elem => elem)
.subscribe(
err => console.error(err),
);
}
我正在使用垫子桌子。 我知道内置过滤器。 和filterPredicate
。 但是filter谓词仅接受filterValue: string
。 我希望能够使用幻灯片切换功能过滤表格,并仅显示具有isActive
标志为true或isActive
标志为false的对象。 但是默认过滤器不提供此类功能。 我自己想出了一些解决方法,但我希望有更好的解决方案。
1)我可以自己过滤该数组,但是以这种方式,我需要保留初始数组并将经过过滤的数组传递给表。 而且我不喜欢将两个数组用于相同的信息的想法。
2)当滑动切换更改为&@changedToggle-true
,我可以将特殊值传递给过滤器,并在过滤器谓词中检查该值,并仅过滤具有正确的isActive标志的对象。 但这对我来说仍然不是很好的解决方案。
有什么好的方法可以实现我想要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.