ngFor的动态过滤器功能

时间:2019-05-16 07:59:32

标签: typescript date filter angular7 ngfor

我正在将Angular 7与Typescript一起使用,并尝试为列表创建日期过滤器。该列表可能很大。我读了很多书,找到了Pipe解决方案。问题在于,当我更改过滤器参数时,ngFor不会刷新,并且我已经阅读到Pipe对于长列表不利。

我的HTML:

export interface IUser {
    username: string;
    email?: string;
    isActive: boolean;
    group: string[];
}

interface Field {
    name: string;
    label: string;
    placeholder: string;
    help?: string | React.ReactNode;
}

declare let user: IUser;
declare let field: Field;
let value = user[field.name as keyof IUser] // ok bacuse of the assertion

我的ts:

<tr *ngFor="let x of sessions | callback: filterByDate" (click)="view(x)">

管道类:

private filterByDate = (session: Session) => {
    if (this.fromDateFilter && this.fromDateFilter > session.Date) {
      return false;
    }
    if (this.toDateFilter && this.toDateFilter < session.Date) {
      return false;
    }
    return true;
  }

我有一个有角度的DatePicker,它可以更改'this.fromDateFilter'和'this.toDateFilter'参数。在角度1.6中,这非常容易。每次更改过滤器功能时,都会执行该功能。这里什么也没发生。

谢谢!

0 个答案:

没有答案