`The challenges of optimizing performance in a PrimgNg p-listBox`

I am currently experiencing performance issues with my application using PrimeNG Listbox to load 20,000 values from an API. The large amount of data is causing crashes and delays. I need assistance in optimizing the performance of the application.

<p-listbox [options]="Filters.segmentList" [(ngModel)]="selectedSegements" [multiple]="true" optionLabel="name" [listStyle]="{'max-height':'250px'}">
  <ng-template pTemplate="header">
    <div>Segments&nbsp;|&nbsp; Description
    </div>
  </ng-template>
  <ng-template let-segment pTemplate="item">
    <div class="segment-item">
      <div>{{segment.segment_cd}}&nbsp;|&nbsp; {{segment.segment_desc}}
      </div>
    </div>
  </ng-template>
</p-listbox>

Answer №1

To handle a large dataset, you'll need infinite or virtual scrolling. Primeng listbox doesn't have this capability, but the primeng table does. You can utilize the primeng table and create a custom wrapper to mimic listbox functionality.

Here is more information on the primeng table

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Code coverage analysis in a node.js TypeScript project consistently shows no coverage metrics

I'm currently working on a backend TypeScript project where I'm aiming to obtain coverage reports for unit test cases. However, Jest is returning empty coverage reports both in the terminal and in the HTML report, with no information provided. Ev ...

The datatype 'string' cannot be assigned to the datatype '(token: string) => void'

Within my Angular2 application, I have a class that includes several properties which will be assigned values within components. @Injectable() export class Globals { private token: string; private authorization: string; private roleUser: boole ...

Determining the type of an overloaded method within a generic function

I am currently working on developing a versatile function that can subscribe to an event emitter. The function subscribe is designed to take 3 arguments: event name, event handler, and the event emitter to connect to. I am looking for ways to ensure accur ...

Basic library using babel, TypeScript, and webpack - Error: (...) is not a recognized function; within Object.<anonymous>

Recently, I encountered a strange issue while trying to bundle a simple function using babel, typescript, and webpack. You can find the example that is not working at this link. To test it, simply download the code, run npm/yarn install, npm/yarn run buil ...

Restricting a Blob to a particular data type

As seen in the GitHub link, the definition of Blob is specified: /** A file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format. The File interface is based on Blob, inheriting blob functional ...

Using the Angular async pipe with an object's property

Is there a way to use the async pipe without ngFor? I need to check a property of an object that is asynchronously loaded with an observable. This is what I have tried, but it's not working as expected: <ion-item *ngIf="user$.anonymouse | async"& ...

What are some techniques to ensure null checking is enforced for objects that are nested within multiple layers

Currently, I am leveraging redux sagas to fetch data asynchronously from various endpoints using a unified interface: export interface ResponseInfo { data?: any; status: number; headers?: any; subCode?: string; } To ensure that null check ...

What is the best practice for making a gRPC call within a Typescript Vue.Js component?

Upon reviewing the grpc documentation, I discovered that proto files can be used to generate Node (Javascript), Typescript with the assistance of grpc_tools_node_protoc_ts, and grpc-web. Given that performance is not a critical factor in my particular situ ...

The build error TS1036 is thrown when a function with a return statement is moved to index.d.ts, even though it worked perfectly in a standard TS file

In my project using Node v14.x and StencilJS (React) v2.3.x, I encountered an issue with a test-helper file containing a function that converts string-arrays to number-arrays: export function parseNumericStringOrStringArrayToIntegers(value: string | (strin ...

Can someone please explain how to prevent Prettier from automatically inserting a new line at the end of my JavaScript file in VS Code?

After installing Prettier and configuring it to format on save, I encountered an issue while running Firebase deploy: 172:6 error Newline not allowed at end of file eol-last I noticed that Prettier is adding a new line at the end when formatting ...

Choose particular spreadsheets from the office software

My workbook contains sheets that may have the title "PL -Flat" or simply "FLAT" I currently have code specifically for the "PL -Flat" sheets, but I want to use an if statement so I can choose between either sheet since the rest of the code is identical fo ...

Locating a specific entry in a custom object array based on a property

Currently working on an Angular 2 app using Typescript and encountering a challenge. There is a service that retrieves an array of questions structured like this: export class Question { constructor(public id: number, public quest ...

The system is failing to recognize the union data type

My code defines various types as follows: export type Property = | BooleanProperty | NumberProperty | IntegerProperty | StringProperty | ObjectProperty | ArrayProperty; export interface OneOf { oneOf: PropertyOrKeyword[]; } export interface ...

Unable to utilize the forEach() function on an array-like object

While I generally know how to use forEach, I recently encountered a situation that left me puzzled. Even after searching online, I couldn't find any new information that could help. I recently started delving into TypeScript due to my work with Angul ...

Utilizing Angular 4: Sharing Data through Services and Components

After transitioning my data from an object in a service to a database connection, I'm facing issues where the data is not reaching the component as expected. To solve this problem, I have set up the service to subscribe to the data retrieved from the ...

The elusive 'module' cannot be located when working with commonjs

I am currently working on the following code snippet... @Component({ module: module.id, selector: 'hero', templateUrl:'hero.component.html', styleUrls: ['hero.component.css'], directives ...

Issue with Angular 10 Web Worker: Unable to locate the main TypeScript configuration file 'tsconfig.base.json'

Every time I attempt to run: ng g web-worker canvas I consistently encounter the error message: Cannot find base TypeScript configuration file 'tsconfig.base.json'. After thorough examination of my files, it appears that I am indeed missing a ...

Customizing Material UI Select for background and focus colors

I am looking to customize the appearance of the select component by changing the background color to "grey", as well as adjusting the label and border colors from blue to a different color when clicking on the select box. Can anyone assist me with this? B ...

A guide to implementing "Intl.DateTimeFormat" within a Next.js React component

I have a component that is being rendered on the server, making "Intl.DateTimeFormat" accessible. What is the proper way to use "Intl.DateTimeFormat" in a Next.js React component? The error message I am encountering is: Error: There was an error while hy ...

Exploring the power of Angular 10 components

Angular version 10 has left me feeling bewildered. Let's explore a few scenarios: Scenario 1: If I create AComponent.ts/html/css without an A.module.ts, should I declare and export it in app.module.ts? Can another module 'B' use the 'A ...