更新时间:2022-10-29 17:13:45
code> transform(items:any,term:any):any {
if(term === undefined)return items;
return items.filter(function(Product){
return Product.prdName.toLowerCase()。includes(term.toLowerCase());
})
}
i'm trying to make a custom filter pipe by following this link, but i got error that said Angular, TypeError: Cannot read property 'toLowerCase' of undefined
. I already imported the pipe to app.module.ts
and also declared it in declaration
. Can anyone help me with this error?
<form id="filter">
<input type="text" class="form-control" name="term" [(ngModel)]="term" placeholder="filter by name" />
</form>
<tr *ngFor="let product of productList | paginate: { itemsPerPage: 1, currentPage: p } | filter: term">
<td>{{product.prdName}}</td>
<td>{{product.prdCat}}</td>
<td>{{product.prdSup}}</td>
</tr>
@Pipe({
name: 'filter'
})
transform(prdName: any, term: any): any {
if (term === undefined) return prdName;
return prdName.filter(function(Product) {
return Product.name.toLowerCase().includes(term.toLowerCase());
})
try like this :
transform(items: any, term: any): any {
if (term === undefined) return items;
return items.filter(function(Product) {
return Product.prdName.toLowerCase().includes(term.toLowerCase());
})
}