在角7+电子4中,我使用ngx分页,但不能解决滤波器的问题.
我像在文档中那样做,但是我得到了错误未明错误:模板解析错误:管道'stringFilter‘无法找到
请帮帮我。提前感谢
Html-1:
<input
type="text"
name="search"
class="search__input"
placeholder="Search by Name..."
[(ngModel)]="tableService.filter"> Html-2:
<ul class="table-body__list">
<li *ngFor="let item of tableService.items | stringFilter: tableService.filter | paginate: config">
<app-item [item]="item"></app-item>
</li>
</ul>
<pagination-controls
[maxSize]="maxSize"
directionLinks="true"
responsive="true"
previousLabel="Previous page"
nextLabel="Next page"
(pageChange)="onPageChange($event)">
</pagination-controls>TypeScript:
import { Component, OnInit } from '@angular/core';
import { PaginationInstance } from 'ngx-pagination';
import { TableService } from '../../services/table.service';
@Component({
selector: 'app-jobs-table',
templateUrl: './jobs-table.component.html',
styleUrls: ['./jobs-table.component.scss']
})
export class JobsTableComponent implements OnInit {
filter = '';
maxSize = 9;
config: PaginationInstance = {
itemsPerPage: 11,
currentPage: 1
};
constructor(public tableService: TableService) { }
ngOnInit() {
}
onPageChange(number: number) {
this.config.currentPage = number;
}
}在TableService中:
filter = '';发布于 2019-03-19 22:41:57
如在github (搜索存储库中的筛选器)上所发现的那样。很明显,npx分页并没有任何标准的过滤管道。他们的医生..。次优
import {Pipe} from "@angular/core";
/**
* A simple string filter, since Angular does not yet have a filter pipe built in.
*/
@Pipe({
name: 'stringFilter'
})
export class StringFilterPipe {
transform(value: string[], q: string) {
if (!q || q === '') {
return value;
}
return value.filter(item => -1 < item.toLowerCase().indexOf(q.toLowerCase()));
}
}有趣的评论顺便说一句:由于性能原因,用于过滤的角移除管。
发布于 2020-11-07 12:57:50
只能使用筛选器更改stringFilter。
<ul class="table-body__list">
<li *ngFor="let item of tableService.items | filter: tableService.filter | paginate: config">
<app-item [item]="item"></app-item>
</li>
</ul>https://stackoverflow.com/questions/55250595
复制相似问题