过滤对象数组时出现角度2管道错误

时间:2018-02-16 12:52:41

标签: angular

我试图让搜索栏搜索对象数组中的项目,但是我收到此错误,我不知道如何修复它是错误

错误TypeError:itemsArr.search不是函数ItemsComponent.html:5     在SearchPipe.transform(search.pipe.ts:11)

这是我使用管道的html

    <form id="searchBar">
    <label>Search</label>
    <input type="text" [(ngModel)]="productName" [ngModelOptions]="{standalone: true}">
</form>
<table class="table table-hover">
<thead>
    <tr>
        <td>Nr.</td>
        <td>Prekės pavadinimas</td>
        <td>Svoris gramais</td>
        <td>Kaina eur</td>
        <td></td>
    </tr>
</thead>
<tbody>
    <tr *ngFor="let item of itemsArr | search:productName"> 
        <td>{{ item.id }}</td>
        <td>{{ item.name }}</td>
        <td>{{ item.weight }}</td>
        <td>{{ item.price }}</td>
        <td><button class="btn" (click)="addToShopCart(item)"> Pasirinkti </button></td>
    </tr>
</tbody>
</table>

这是我的管道代码

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'search'
})
export class SearchPipe implements PipeTransform {

  transform(itemsArr: any, productName: any): any {

    if (productName === undefined) return itemsArr;
      return itemsArr.search(function(item){
        return item.name.toLowerCase().includes(productName.toLowerCase());
      })

  }
}

0 个答案:

没有答案