私は大量のデータをスクロール可能な テーブルに表示する必要がある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>
、それはAのデータをロードする必要があります10.000、おそらく20.000行、およそ10列のテーブル。ここで問題となるのは、ロードが非常に遅く、ロード後にひどいラグで実行されるということです。
私はこのケースで改ページを使用することはできませんし、スクロールは必須です。私は、データの一部だけをロードするようなトリックを行う必要がある場合でも、すべてのデータがロードされているかのようにスクロールサムのサイズと位置を保持したいと思います。
私が速度低下なしでこの作業を行うための最良のpraticceが何であるかを知っていただきたいと思います。
ページネーションは私の最初のアイデアでしたが、残念ながら私の上司はこの作業のページングを望んでいません。ページネーションとは、あなたの例では、ブートストラップ改行のような表の下の各ページへのリンクを意味します。実際、私は要求に応じてデータを読み込まなければならないが、ページャーではなくスクロールを使用しなければならない。私は1000行を試して、それはスムーズに実行されます。 5000無し。無限スクロールに似た何かが必要ですが、ユーザーはスクロールサムを使ってテーブルのある部分にジャンプできなければなりません。 – Natanael
私は小さな部品が欠けていましたが、アプローチが気に入っています。それにもかかわらず、良い出発点。 'ngx-bootstrap'で大いにマージされました:-) – LeO