4

我正在使用输入过滤我的表格,并且希望在更新过滤器时将表格重置为第一页。现在表格显示并且过滤工作,但表格页面没有重置。

这是我必须要做的:

桌子:

 <ngx-datatable
  class='material'
  [rows]='rows'
  [columns]="columns"
  [columnMode]="'standard'"
  [headerHeight]="75"
  [footerHeight]="50"
  [scrollbarH]="true"
  [rowHeight]="'auto'"
  [limit]="5"
  [selectionType]="'multiClick'"
  [offset]="tableOffset"
  >
</ngx-datatable>

相关TS:

tableOffset = 0;

updateFilter(event, seachCriteria) {

  // Filtering Process...

  // Whenever the filter changes I want to go back to the first page
  this.tableOffset = 0;
}

任何指向我哪里出错的指针?

编辑 所以我尝试将偏移量设置为 1 并发现使用 this.tableOffset = 0 进行重置;确实有效,但每当我使用箭头导航到不同的页面时,它都会阻止重置发生。

这是一个错误还是我错过了什么?

4

2 回答 2

5

您还必须处理页面事件。

看法

<ngx-datatable
    ...
    [offset]="tableOffset"
    (page)="onChange($event)">
</ngx-datatable>

零件

updateFilter(event, seachCriteria) {
    ...
    this.tableOffset = 0;
}

onChange(event: any): void {
    this.tableOffset = event.offset;
}
于 2017-06-28T01:31:48.903 回答
2
<ngx-datatable
    #table
    class="material"
    [columns]="columns"
    [columnMode]="'force'"
    [headerHeight]="50"
    [footerHeight]="50"
    [rowHeight]="'auto'"
    [limit]="10"
    [rows]="rows"
  >
  </ngx-datatable>

ts文件

import { DatatableComponent } from '@swimlane/ngx-datatable';; @ViewChild(DatatableComponent, { static: false }) table: DatatableComponent;

updateFilter() {
// update the rows
this.rows = [...this.rows];
// Whenever the filter changes, always go back to the first page
this.table.offset = 0; }
于 2019-06-04T06:09:06.270 回答