我正在尝试通过遵循这个
link来制作自定义过滤器管道,但是我得到了错误,表示Angular,TypeError:无法读取未定义的属性’toLowerCase’.我已经将管道导入app.module.ts并在声明中声明了它.任何人都可以帮我解决这个错误吗?
<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()); })
解决方法
试试这样:
transform(items: any,term: any): any { if (term === undefined) return items; return items.filter(function(Product) { return Product.prdName.toLowerCase().includes(term.toLowerCase()); }) }