virtual scroll on Angular 7 is not visible - the height is zero by default

后端 未结 3 911
一向
一向 2021-01-05 10:58

Scenario:

  • Tried a basic virtual scroll test reading this blog post
  • the array had lots of items
  • there was no error
  • t
相关标签:
3条回答
  • 2021-01-05 11:21
    • use min-height of 100% for the viewport and verify
    • make sure, the height set on the viewport with 'itemSize' matches the height of the item in css
    • if you are using an Observable, make sure to resolve it with *ngIf and the async pipe. Important: the html element is an ng-container, because it may not be rendered for the min-width to work!

        .list {
           min-height: 100%;
        }
      
        .item {
           height: 100px;
        }
      

    When using an Observable as a source

    <ng-container *ngIf="obs$ | async; let data">
      <cdk-virtual-scroll-viewport itemSize="100" class="list">
    
    0 讨论(0)
  • 2021-01-05 11:26

    Add necessary CSS styles to provide the height of the element

    .example-viewport {
      height: 200px;
      width: 200px;
      border: 1px solid black;
    }
    
    .example-item {
      height: 50px;
    }
    

    You can see the full content of the example you have mentioned here. https://material.angular.io/cdk/scrolling/overview

    They also used custom CSS to style their elements.

    Updated Slackblitz

    0 讨论(0)
  • 2021-01-05 11:32

    This CSS works for me (no fixed height required):

    <cdk-virtual-scroll-viewport class="viewport">  
       .......
    </cdk-virtual-scroll-viewport>
    
    .viewport { 
       display: contents;
    }
    
    0 讨论(0)
提交回复
热议问题