Проблемы с производительностью при автозаполнении @ angular / material - PullRequest
2 голосов
/ 29 мая 2019

Я использую Angular / Material Autocomplete. При загрузке данных в Autocomplete возникают серьезные проблемы с производительностью, такие как рендеринг занимает около 30 секунд, а для стабилизации требуется более 10 секунд, данные загружаются с сервера, а данные, получаемые с сервера, довольно быстрые. Кто-нибудь еще сталкивался с проблемой. Если да, то как вы смогли исправить то же самое?

html

<mat-form-field>
  <input  placeholder="Pick one" aria-label="Number" matInput [matAutocomplete]="auto">
  <mat-autocomplete #auto="matAutocomplete">
      <mat-option *ngFor="let option of options" [value]="option" class="autocomplete-item">
        {{option}}
      </mat-option>
  </mat-autocomplete>
</mat-form-field>

TS

export class AppComponent implements OnInit {

  options = [];  

  ngOnInit() {
    for (let i = 0; i < 10000; i++) {
      this.options.push(i + '-sdfsdff');
    }
  }
}

1 Ответ

1 голос
/ 29 мая 2019

Я не уверен, сколько опций поддерживает mat-autocomplete, но я предлагаю улучшить производительность:

  1. Заполните автозаполнение только после того, как пользователь набрал не менее 2 символов.
  2. Реализация поиска на стороне сервера и заполнение параметров автозаполнения после получения меньшего количества параметров.
  3. Если вы считаете, что это проблема с компонентом mat-autocomplete, вы можете открыть проблему в репозитории @ angular / material .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...