CdkVirtualFor does not display any content

I'm facing an issue with implementing cdk-virtual-scroll in my chat application. Unfortunately, it's not showing anything on the screen. Strangely, when I resort to using the regular "ngFor", everything works smoothly. However, as soon as I switch to cdkVirtualFor, the content doesn't show up. Take a look at the code snippet below for further insight.

chatbox.component.ts---

<cdk-virtual-scroll-viewport itemSize="100" class = "cdk">
          <div *cdkVirtualFor="let item of chat_history" class="chat-data">
            <ul>
             <li class = "me">{{item.message}}</li>
            </ul>
          </div>
</cdk-virtual-scroll-viewport>

app.module.ts------

@NgModule({
  declarations: [AppComponent, ChatboxComponent],
  imports: [BrowserModule, AppRoutingModule, HttpClientModule, ScrollingModule],
  providers: [{provide: APP_BASE_HREF, useValue: '/consumer/'}],
  bootstrap: [AppComponent],
})

chatboxcomponent.css-----
.form-container .chat-data {
  height: 100px;
}


.form-container .cdk {
  height: 500px;
}

I would greatly appreciate your feedback on what might be going wrong here. Rest assured, the chat history data is present and verified. Thank you!

Answer №1

In order for the content to be visible, it is necessary to assign a specific height to the viewport. The minBufferPx controls how many pixels of data will be displayed initially, while the max determines the maximum amount. I usually set the minBufferPx slightly larger than the viewport height to ensure that data just out of view is pre-loaded before the user scrolls to it.

Answer №2

Here is an additional piece of code you can use:
<ng-container *ngIf="chat_history">
  <cdk-virtual-scroll-viewport
    itemSize="100"
    minBufferPx="200"
    maxBufferPx="400"
    style="height: 60rem"
  >
    ...`enter your own code here`
  </cdk-virtual-scroll-viewport>
</ng-container>

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

The issue with functions not executing when triggered by HammerJS

In my application, there is a component that displays information for different days as they are cycled through using the functions dayUp() and dayDown(). Here is an example of how these functions are structured: dayUp() { if (this.dayCount == 7) { ...

Is it possible to utilize components or directives in both AngularJS and Angular when developing a hybrid application?

Is it possible to use AngularJS directives/services that have been "upgraded" in a hybrid app created with ngUpgrade for migrating from AngularJS to Angular? Can Angular components that are "downgraded" still be used on the Angular side as well? While res ...

Puzzled by the specialized link feature

As I delve into the world of React and Next.js, I find myself working on the link component. Initially, I had a grasp on basic routing in next.js which seemed pretty straightforward. However, things took a confusing turn when I stumbled upon this code: imp ...

Something went wrong: You cannot use this command while the Angular CLI is running within a workspace

My angular project suddenly started showing the error message "Error: This command is not available when running the Angular CLI inside a workspace." Now, I can only use "ng serve" and not "ng n c". Any ideas on how to fix this? Angular Version: Angular C ...

Error encountered with the root reducer due to data type mismatch

Within my Redux store setup, I have a persistedReducer initialized to include the redux-persist config and the "rootReducer": client/src/redux/store.ts: import { configureStore } from '@reduxjs/toolkit'; import { persistStore, persistReducer } f ...

State does not contain the specified property - Navigating with React Router Hooks in TypeScript

I've been experiencing issues when using react-router-dom hooks with TypeScript. Whenever I try to access a state property, I get an error stating that it doesn't exist. For more information, you can visit: To continue development, one workaro ...

Add TypeScript typings for npm utility manually by incorporating type definitions

I'm in the process of incorporating TypeScript into an existing JavaScript project, and I'm currently facing the challenge of adding typings to an npm module that lacks type definitions, which I anticipate will be a common issue. When I try to i ...

Testing the mirkoORM entities at a unit level

Trying to perform a unit test on a method within a MikroORM entity, I am attempting to populate a mikroORM collection field with test data. Specifically, I am using jest for this task: describe('Team Tests', () => { it('isLeader shoul ...

What is the best way to retrieve child component elements from the parent for testing in Angular 2?

Currently, I am facing a challenge where I need to retrieve an element of a child component from a parent component in order to conduct testing with Karma-Jasmine. In my setup, the parent component contains a contact form which includes a username and pass ...

What sets the do/tap operator apart from other observable operators?

Can anyone clarify the distinction in simple terms between the typical observable operators used for observing output and why do/tap appear to serve the same purpose? What is the reason for utilizing do/tap? ...

Issue encountered while trying to insert a new row into the mat-table

I need help with inserting a new row in mat-table using a button. I wrote a function for this, but when I click the button, I encounter an error CalculatoryBookingsComponent.html:62 ERROR Error: Cannot find control with path: 'rows -> 0'. Addi ...

What is the proper syntax for defining all CSS properties as a type in TypeScript?

Using StyleProps allows for specifying size and color. I would prefer if it covered all styles. This way, I can easily pass down styles directly to specific parts of the component. What should I include to encompass all CSS properties? How can I modify ...

Sending arguments to browser.executeScript

How can I provide parameters to browser.executeScript static sortableDragAndDropByClassName(dragElementClassName: string, dropElementClassName: string) { return browser.executeScript(function () { console.log(dragElementClassName); conso ...

Leveraging Firestore Errors within Cloud Functions

Is it possible to utilize the FirestoreError class within Firebase cloud functions? The goal is to raise errors with a FirestoreError type when a document or field is not found in Firestore: throw new FirestoreError(); Upon importing FirestoreError using ...

Angular 6: Inconsistent performance of [(ngModel)] functionality

In my Angular 6 project, I am utilizing Bootstrap Modals to implement a specific functionality. Upon clicking the modify button, a modal window should appear with pre-filled values. Although I am using template-driven forms along with [(ngModel)], I have ...

The proxy request gets delayed unless I utilize the http-proxy-middleware

Here is the code for a provider: @Injectable() export class GameServerProxyService { private httpProxy: httpProxy; constructor(@Inject(GameServerDetailsService) private gameServiceDetailsService: GameServerDetailsService) { this.httpP ...

The application within the Main Module is not being acknowledged by the other components within the module

I am facing an issue with my AngularJS application where the directive I created within the 'FormTest' module is not recognizing the variable 'app' even though it is defined within the same module. The error message I receive is TS2304 ...

Utilizing React with Typescript: A guide to working with Context

I have a super easy app snippet like import React, { createContext } from 'react'; import { render } from 'react-dom'; import './style.css'; interface IAppContext { name: string; age: number; country: string; } const A ...

The React application, when built using `npm run build`, experiences difficulty loading image sources after deployment to App Engine

In my React frontend application, I have the logo.png file being loaded in Header.tsx as an img element like this: <img className={classes.headerLogo} src={'logo.png'} alt={"MY_LOGO"}/> The directory structure looks lik ...

What is the best way to determine if a local storage key is not present?

By applying the if condition below, I can determine whether or not the local storage key exists: this.data = localStorage.getItem('education'); if(this.data) { console.log("Exists"); } To check for its non-existence using an if conditi ...