使用日期范围过滤器填充表

时间:2020-10-20 14:23:27

标签: javascript angular typescript primeng date-range

我有以下代码用于在PrimeNG表中实现日期范围过滤器。

                    <th class="filter_header">
                      <p-calendar
                       
                        (onSelect)="historyTable.filter($event,'release_datetime', 'dateRangeFilter')"
                        placeholder="Search by release date"
                        [appendTo]="historyTable"
                        [(ngModel)]="rangeDates"
                      </p-calendar>
                    </th>

在组件中,我定义了FilterUtils,如下所示:

FilterUtils['dateRangeFilter'] = (value, filter): boolean => {
  if (filter === undefined || filter === null) {
    return true;
  }

  if (value === undefined || value === null) {
    return false;
  }
  console.log(value);
  if (this.rangeDates[0] <= value && this.rangeDates[1] >= value) {
    return true;
  }
}

但这不起作用。如果有人可以指导我正确的方向,那将会有所帮助。

我得到value的定义。我已经尝试过使用$event.target.value,但是它也不起作用。

1 个答案:

答案 0 :(得分:0)

尝试如下更新您的日历。除了使用$event之外,还需要rangeDates作为过滤器。

    <p-calendar
      [(ngModel)]="rangeDates"
      (onSelect)="historyTable.filter(rangeDates,'release_datetime', 'dateRangeFilter')"
      placeholder="Search by release date"
      [appendTo]="historyTable">
    </p-calendar>