设置虚拟滚动的“第一”选项

时间:2019-01-17 10:59:40

标签: angular primeng primeng-table

是否有任何方法可以在组件代码中调用“ onLazyLoad”事件或将LazyLoadEvent.first属性设置/绑定为初始状态?

如果您需要向下滚动到选定的行,这将很有用。就我而言,我有以下网址:

  

http://localhost:4200/tasks/6800

我想滚动到id = 6800的项目(从URL)。我可以在服务器上找到行号并重新加载表数据,但是LazyLoadEvent对此一无所知。

我的表格组件:

<p-table #tasksTable selectionMode="single" 
            scrollHeight="48vh"
            responsive="true"
            [rows]="20" 
            [virtualScroll]="true" 
            (onLazyLoad)="loadDataOnScroll($event)"
            [lazy]="true" 
            [totalRecords]="totalTasks"
            [loading]="loading"
            [columns]="cols" 
            [resizableColumns]="true"
            [value]="tasks" 
            [(selection)]="selectedTask"
            (onRowSelect)="onRowSelect()" 
            (onRowUnselect)="onRowUnselect()"
            [scrollable]="true">
        <ng-template pTemplate="colgroup" let-columns>
            ...
        </ng-template>
        <ng-template pTemplate="header" let-columns>
            ...
        </ng-template>
        <ng-template pTemplate="body" let-task>
            ...
        </ng-template>
    </p-table>

loadDataOnScroll实现:

loadDataOnScroll(event: LazyLoadEvent): void {
if (event.first + event.rows > this.totalTasks) {
  return;
}

this.take = event.rows;
this.skip = event.first;

this.loadData();
}

任何帮助将不胜感激。

0 个答案:

没有答案