代码之家  ›  专栏  ›  技术社区  ›  Akber Iqbal

角度7上的虚拟滚动-默认高度为零

  •  5
  • Akber Iqbal  · 技术社区  · 6 年前

    脚本:

    • 尝试了一个基本的虚拟滚动测试 blog post
    • 这个阵列有很多东西
    • 没有错误
    • 加载到虚拟滚动中的列表,但默认高度为0

    快速修复是

    • 将CDK虚拟滚动视区的高度设置为500px或将 app.component.css中类“example viewport”的高度

    问题 : 克服这个零高度的正确方法是什么?

    取样地点 https://stackblitz.com/edit/angular-efdcyc

    2 回复  |  直到 5 年前
        1
  •  3
  •   dagerber    6 年前
    • 使用 最小高度 对于视窗和验证
    • 确保在具有“itemsize”的视口上设置的高度与 css中的项
    • 如果您使用的是observate,请确保使用*ngif和异步管道解析它。重要: html元素是 天然气容器 ,因为它可能不会 以最小宽度渲染!

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

    当使用一个可观测的数据源时

    <ng-container *ngIf="obs$ | async; let data">
      <cdk-virtual-scroll-viewport itemSize="100" class="list">
    
        2
  •  1
  •   Pandiyan Cool    6 年前

    添加必要的css样式以提供元素的高度

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

    您可以看到这里提到的示例的全部内容。 https://material.angular.io/cdk/scrolling/overview

    他们还使用自定义css来设置元素的样式。

    Updated Slackblitz