Я пытаюсь фильтровать продукты с несколькими из полевых условий (вход & раскрывающийся). Я могу фильтровать их отдельно, но я не могу понять, как заставить их работать вместе..Angular 2.0.0 final - Пользовательская фильтрация труб с несколькими полями полевых условий
Я создал два отдельных пользовательских трубки (один для входного фильтра и один для раскрывающегося фильтра), чтобы сделать вещь более модульной.
Вот логика ввода трубы:
// Input Filter
transform(value: IProduct[], filter: string): IProduct[] {
filter = filter ? filter.toLocaleLowerCase() : null;
return filter ? value.filter((product: IProduct) =>
product.prodName.toLocaleLowerCase().indexOf(filter) !== -1) : value;
}
логика позади Dropdown трубы:
// Dropdown Filter
transform(value: IProduct[], filter: string): IProduct[] {
return filter ? value.filter((product: IProduct) =>
product.prodCategory.indexOf(filter) !== -1) : value;
}
Это обычай трубы в окне шаблона:
<tr *ngFor='let _product of _products | DropdownProductFilter: ddlistFilter.name || InputProductFilter: listFilter'
Ниже приведен пример http://plnkr.co/qwsk86hHLbI26w3HVMdV