Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

433
Views
mat autocompletar es demasiado lento al cargar datos de gran tamaño

Estoy usando mat autocompletar https://material.angular.io/components/autocomplete/api en mi proyecto angular. mientras carga datos grandes con 25k artículos. el rendimiento es bajo. es demasiado lento para buscar y sugerir autocompletar. ¿Cómo aumentar el rendimiento de esto?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Estaba en la misma situación y mi solución fue limitar la lista a los primeros N resultados. Así que el código se ve así:

componente.html

 <mat-autocomplete #auto="matAutocomplete" [displayWith]="name"> <mat-option *ngFor="let item of filteredItems" [value]="item"> {{item.name}} </mat-option> </mat-autocomplete>

componente.ts

 this.filteredItems = this.items.filter(...some.filtering here...).slice(0, 10);

Filtrará todos los artículos, pero mostrará solo los primeros 10 que coincidan. ;-)

over 4 years ago · Santiago Trujillo Report

0

Si los datos son enormes en autocompletar, entonces el rendimiento es bajo, he resuelto el mismo problema usando * cdkVirtualFor reemplaza * ngFor dentro de autocompletar.

encuentre las referencias a continuación.

https://stackblitz.com/edit/autocompletar-con-desplazamiento-virtual?file=app%2Fcdk-virtual-scroll-overview-example.ts

over 4 years ago · Santiago Trujillo Report

0

Recomendaría cargar menos datos a su autocompletar. Pero si realmente necesita mostrar/buscar tantos elementos. La solución a su problema es el desplazamiento virtual. https://material.angular.io/cdk/scrolling/overview Debido a que la función de filtro, dependiendo de la función de filtro que esté usando la mayor parte del tiempo, se usa al volver a pintarla. O una solución más simple pero que usa un poco más de recursos que el desplazamiento virtual. https://medium.com/better-programming/improving-angular-ngfor-performance-through-trackby-ae4cf943b878

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!