2017-10-17 7 views
0

Angularドロップダウン(Angular 2+)を19000+レコードにバインドしようとしています。アプリケーションがハングアップしています。他の操作は実行できません。大きなデータセットを使用したドロップダウンのバインディングAngular 2

私はちょうど同じ

<select class="form-control" name="occupation" 
    [(ngModel)]="model.occupation" #occupation="ngModel" required 
    (ngModelChange)="onChange($event)"> 
    <option *ngFor="let c of ocupencycollection;"> 
     {{ c }} 
    </option> 
</select> 

のために、任意の他の実行可能な解決策を*ngForを使用していますか?

+3

19000+レコードのドロップダウンですか?ああ、神様! – Sajeetharan

+0

悲しいが、それは本当にそれはすべての職業のリストを必要とするクライアントの要件です): – user3886602

+3

あなたのUIを変更します。先読み、または単純な検索ボックスを使用してください。 –

答えて

1

パフォーマンスが大幅に低下することはありません。 私は商用のソリューションを提案します。私は剣道UIをAngularに使用しています。
私の場合、DropDownListでパートナー(5百万レコード)を選択することができます。私は20のパートナーを表示して、フィルタリングを許可しました。あなたの問題のため

適切なデモは、次のようになります。

あなたは両方のアプローチを組み合わせることができます。無限のスクロールをサポートする要求もあり、これが最善の方法かもしれません。

支払い済みの解決策が受け入れられない場合は、必要に応じてアイテムを読み込むことができます。最初に20項目を表示し、最後にユーザーがスクロールした後、別のページのレコードをロードします。 Thisがお手伝いします。

+0

剣道は再びコストがかかるのでそれを使用することができません:) – user3886602

+0

私はあなたの唯一の解決策は、スクロールイベントを聞いて、スクロール終了時に新しい項目をロードするカスタムコンポーネントを作成することだと思います。このようにして、無限/無限スクロールのカスタム実装を行います。 – Makla

関連する問題