스크롤 가능한 테이블에 많은 양의 데이터를 표시해야하는 Angular 2 앱을 개발 중입니다.각도 2를 사용하여 테이블에 많은 양의 데이터를로드하고 표시하는 방법은 무엇입니까?
데이터 내 성분 클래스의 배열이다
export class AppComponent {
clients: any[] = [];
constructor(){
for (var i = 0; i < 10; ++i) {
this.clients.push({
id: i,
name: 'Client' + i,
address: 'Address of client ' + i,
phone: '(51) 5454-4646'
});
}
}
}
가 다음 데이터 내 레이아웃에 ngFor 통해로드
: 예를 들어,이 데이터를로드한다 <div style="height:600px;overflow:scroll">
<data-table>
<th>Id</th>
<th>Name</th>
<th>Address</th>
<th numeric>Phone</th>
<tr *ngFor="let client of clients">
<td>{{ client.id }}</td>
<td>{{ client.name }}</td>
<td>{{ client.address }}</td>
<td>{{ client.phone}}</td>
</tr>
</data-table>
</div>
10.000, 어쩌면 20.000 행 및 약 10 열이있는 테이블. 여기서 문제는로드가 매우 느리고로드 후에 끔찍한 지연으로 실행된다는 것입니다.
이 경우 페이지 매김을 사용할 수 없으며 스크롤은 필수입니다. 스크롤 엄지 크기와 위치를 유지하고 싶습니다. 마치 데이터의 일부만로드하는 것처럼 트릭을해야하는 경우에도 모든 데이터가로드되는 것처럼 배치하십시오.
나는 속도 저하없이이 작업을 수행하는 가장 좋은 방법이 무엇인지 알고 싶습니다.
페이지 매김은 내 생각 이었지만 불행히도 내 상사는이 작업에 페이지 매김을 원하지 않습니다. 페이징 (pagination)이란 각 페이지에 대한 링크가 부트 스트랩 페이지 매거진 (bootstrap paginator) 또는 귀하의 예처럼 테이블 아래에 있음을 의미합니다. 실제로 필자는 요구에 따라 데이터를로드해야하지만 페이 지 네이터가 아닌 스크롤을 사용해야합니다. 1000 행을 시도하고 원활하게 실행됩니다. 5000 아닙니다. 무한 스크롤과 비슷한 것이 필요하지만 사용자는 스크롤 썸을 사용하여 테이블의 일부 부분으로 이동할 수 있어야합니다. – Natanael
작은 부분이 빠졌음에도 불구하고 나는 접근법을 좋아합니다. 그럼에도 불구하고 좋은 출발점. 'ngx-bootstrap'으로 큰 병합 :-) – LeO