Заморозка экрана при заполнении выпадающего списка - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть следующая проблема, которую я уловил настолько далеко, насколько смог.

Я получаю данные через API-вызов, примерно 1000 строк - эти строки помещаются в обычный выпадающий список select-option-option,Вызов занимает 450 мс, пока данные не будут на клиенте, и этот шаг работает нормально.Как только данные попадают в выпадающий список, сторона останавливается примерно на 10 секунд.Если я сделаю то же самое с большим количеством данных, сбой стороны.

Это мой код:

Сервис

getSomething(): Observable<Something[]> {
    return this.http.get<Something[]>(`${this.route}SomeThings`);
}

Компонент

loadSomethings(): void {
    this.somethingService.getSomething()
      .pipe(finalize(() => {
      }))
      .subscribe(
        (somethings: Something[]) => {
          this.dropdownData = somethings;
        }, error => {
          console.log(error);
        }
      );
}

Вид

<select id="select" (change)="valueChanged()" [(ngModel)]="value">
  <option  *ngFor="let item of dropdownData" [ngValue]="item">{{item.name}}</option>
</select>
...