| Author: | diprokon |
|---|---|
| Official Page: | Go to website |
| Publish Date: | February 19, 2020 |
| License: | MIT |
Description:
An Angular directive that enables the virtual scrolling experience on the Angular Material Table component.
How To Use It:
1. Install and import the directive.
# NPM $ npm install ng-table-virtual-scroll --save
import {TableVirtualScrollModule} from 'ng-table-virtual-scroll';
import { TableVirtualScrollDataSource } from 'ng-table-virtual-scroll';
2. In the HTML:
<cdk-virtual-scroll-viewport tvsItemSize
class="wrapper mat-elevation-z2">
<table mat-table [dataSource]="dataSource">
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
<ng-container matColumnDef="id">
<th mat-header-cell *matHeaderCellDef>No.</th>
<td mat-cell *matCellDef="let element">{{element.id}}</td>
</ng-container>
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef>Name</th>
<td mat-cell *matCellDef="let element">{{element.name}}</td>
</ng-container>
</table>
</cdk-virtual-scroll-viewport>
3. The JavaScript:
const DATA = getData(1000);
@Component({
selector: 'app-base-example',
templateUrl: './base-example.component.html',
styleUrls: ['./base-example.component.css']
})
export class BaseExampleComponent {
displayedColumns = ['id', 'name'];
dataSource = new TableVirtualScrollDataSource(DATA);
}