设想:
- 尝试阅读此博客文章的基本虚拟滚动测试
- 数组有很多项目
- 没有错误
- 列表加载在虚拟滚动中,但默认高度为 0
快速修复是
- 将 cdk-virtual-scroll-viewport 的高度设置为 500px 或在 app.component.css 中设置类“example-viewport”的高度
问题:克服这个零高度的正确方法是什么?
设想:
快速修复是
问题:克服这个零高度的正确方法是什么?
如果您使用的是 Observable,请确保使用 *ngIf 和异步管道来解决它。重要提示: html 元素是一个ng-container,因为它可能不会被渲染以使 min-width 起作用!
.list {
min-height: 100%;
}
.item {
height: 100px;
}
当使用 Observable 作为源时
<ng-container *ngIf="obs$ | async; let data">
<cdk-virtual-scroll-viewport itemSize="100" class="list">
添加必要的 CSS 样式以提供元素的高度
.example-viewport {
height: 200px;
width: 200px;
border: 1px solid black;
}
.example-item {
height: 50px;
}
您可以在此处查看您提到的示例的全部内容。https://material.angular.io/cdk/scrolling/overview
他们还使用自定义 CSS 来设置元素的样式。
这个 CSS 对我有用(不需要固定高度):
<cdk-virtual-scroll-viewport class="viewport">
.......
</cdk-virtual-scroll-viewport>
.viewport {
display: contents;
}