如何使用angular4为数据表中的每个指定列实现自定义过滤器?

时间:2017-09-02 11:07:34

标签: angular angular2-template angular-datatables

关于github包以获得非常好的实现数据表,这个数据表包含sort,filter(但不是列式)

https://www.npmjs.com/package/angular2-datatable

http://plnkr.co/edit/PxBaZs?p=preview

但是这里的列式过滤器没有像列式排序那样实现,

<tr>
<th style="width: 10%"></th>
<th style="width: 20%">
    <mfDefaultSorter by="name">Name</mfDefaultSorter>
</th>
<th style="width: 40%">
    <mfDefaultSorter by="email">Email</mfDefaultSorter>
</th>
<th style="width: 10%">
    <mfDefaultSorter by="age">Age</mfDefaultSorter>
</th>
<th style="width: 20%">
    City
</th>

export class DefaultSorter implements OnInit {
@Input("by") sortBy: string;

isSortedByMeAsc: boolean = false;
isSortedByMeDesc: boolean = false;

public constructor(private mfTable: DataTable) {
}

public ngOnInit(): void {
    this.mfTable.onSortChange.subscribe((event: SortEvent) => {
        this.isSortedByMeAsc = (event.sortBy == this.sortBy && event.sortOrder == "asc");
        this.isSortedByMeDesc = (event.sortBy == this.sortBy && event.sortOrder == "desc");
    });
}

sort() {
    if (this.isSortedByMeAsc) {
        this.mfTable.setSort(this.sortBy, "desc");
    } else {
        this.mfTable.setSort(this.sortBy, "asc");
    }
}}

像这样我想要实现自定义过滤器来指定行

如果有人可以帮我自定义代码并实现自定义过滤器来指定列,或者请给我建议,我想实现自己的过滤器。

先谢谢

0 个答案:

没有答案