Angular 角度材质表自定义过滤器
我用的是垫子桌子。我知道内置过滤器。和Angular 角度材质表自定义过滤器,angular,angular-material,Angular,Angular Material,我用的是垫子桌子。我知道内置过滤器。和过滤器预测。但是过滤器谓词只接受filterValue:string。我希望能够使用滑动切换筛选表,并仅显示具有例如isActive标志true或isActive标志false的对象。但默认过滤器不提供这种功能。我自己想出了一些解决办法,但我希望有更好的解决办法 1) 我可以自己过滤数组,但这样我需要保留初始数组并将过滤后的数组传递给表。我不喜欢对相同的信息使用两个数组 2) 当滑动切换被更改时,我可以将特殊值传递给过滤器,例如&@changedToggle
过滤器预测
。但是过滤器谓词只接受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),
);
}
YourCustomDatasource扩展了Datasource{
私人物品:可观察;
filterCustom(){
返回objects.filter(elem=>elem.isActive)
.map(elem=>elem)
.订阅(
err=>console.error(err),
);
}
你能解释一下这个objects属性是如何设置的吗?它给我带来了一个例外,对象是未定义的。