当前位置:  开发笔记 > 编程语言 > 正文

如何编写Angular ngFor管道来按对象属性过滤对象数组?

如何解决《如何编写AngularngFor管道来按对象属性过滤对象数组?》经验,为你挑选了1个好方法。

我有2个选择.

一个为Leagues一个为一个Divisions

我想根据所选内容创建一个Pipe过滤器.DivisionsLeague

提供以下数据.如果我Random Beer League只选择TwoFour并且SixPack应该显示为选择的Divisions选项.

leagues = [
  {id: 1, leagueName: 'Recreation League' },
  {id: 2, leagueName: 'Random Beer League' } 
];

divisions = [
  {id: 1, divisionName: 'SoGreen', leagueId: 1, leagueName: 'Recreation League' },
  {id: 2, divisionName: 'Yellow', leagueId: 1, leagueName: 'Recreation League' },
  {id: 3, divisionName: 'TwoFour', leagueId: 2, leagueName: 'Random Beer League' },
  {id: 4, divisionName: 'SixPack', leagueId: 2, leagueName: 'Random Beer League' }
];

PLUNKER显示设置

*注意 - plunker中的数据是硬编码的,但在我的应用程序中设置了Observable.



1> Hardik Patel..:

我创建了一个自定义管道并用它来过滤部门下拉列表.

@Pipe({
    name: 'myfilter',
    pure: false
})

export class MyFilterPipe implements PipeTransform {
    transform(items: any[], args: any[]): any {
        return items.filter(item => item.leagueName.indexOf(args.leagueName) > -1);
    }
}



请看看这个Plnkr

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有