【发布时间】:2018-06-15 16:41:10
【问题描述】:
我有下面的搜索管道代码
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'pkhospitalparam'
})
export class PkhospitalparamPipe implements PipeTransform {
transform(value: any[], searchString: string ) {
if (!searchString) {
console.log('no search');
return value;
}
return value.filter(it => {
const hospitalName = it.name.toLowerCase().includes(searchString.toLowerCase());
return (hospitalName);
});
}
}
HTML:
<input type="text" class="form-control" [(ngModel)]="searchHospitalParam" />
<div *ngFor="let result of resultArray | paginate: { itemsPerPage: 5, currentPage: p } | pkhospitalparam:searchHospitalParam"></div>
我已经在 ngFor 中传递了管道参数,它工作正常。问题是因为我已经实现了分页(大约 50 页),所以搜索不会发生 50 页。仅在我所在的页面上搜索过滤器。无论如何都要对所有页面进行全局搜索吗?
【问题讨论】:
-
我们也能看到分页管道吗?
-
在对数据进行分页和过滤时,您应该先过滤数据,然后再对其进行分页,而不是相反。因为在您对其进行分页后,您手中并没有完整的数据来过滤它。
-
太棒了!它奏效了
标签: angular search pagination pipe