【问题标题】:How make multicolumns pipes filter?如何使多列管道过滤?
【发布时间】:2017-08-20 18:25:51
【问题描述】:

我有这样的文章,它只适用于专栏:不再为作者命名。

导出类 FilterBook2 实现 PipeTransform { transform(items: Book[], filter: Book): any { if (!items || !filter) { return items; } // filter items array, items which match and return true will be kept, false will be filtered out return items.filter((item) => item.Nazwa.indexOf(filter.Nazwa) || item.Autor.indexOf(filter.Autor) !== -1) }

}

输入日期:

filterargs = { Nazwa: "", Autor: "" }

【问题讨论】:

    标签: angularjs typescript angular2-services


    【解决方案1】:

    我认为您正在尝试通过多个参数过滤书籍。您可以像这样将多个值传递给管道变换函数:

    <div *ngFor="let book of books | filterBook2 : firstArg : secondArg">
        ...
    </div>
    

    在管道类中

    export class FilterBook2 implements PipeTransform {
       transform(items: Book[], firstArg: Book, secondArg: any): any {
           // your logic here
       }
    }
    

    【讨论】:

    • 问题不在于传递参数。我认同。问题似乎出在这条线上: return items.filter((item) => item.Nazwa.indexOf(filter.Nazwa) || item.Autor.indexOf(filter.Autor) !== -1)
    猜你喜欢
    • 1970-01-01
    • 2017-05-31
    • 2017-06-12
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    相关资源
    最近更新 更多