CDK虚拟卷轴没有dom

CDK virtual scroll has no doms

我正在使用 CDK 虚拟滚动来提高包含大量数据的下拉菜单的性能。我已按照文档执行了所有步骤。但是当我打开下拉菜单时,我在 cdk-virtual-scroll-viewport 组件中看不到任何 dom。

这是来自 HTML 的代码。

<cdk-virtual-scroll-viewport itemSize="500" class="example-viewport">
            <div *cdkVirtualFor="let item of items" class="example-item">{{item.name}}</div>
        </cdk-virtual-scroll-viewport>

如果我将 div 移到 cdk 虚拟滚动条之外并用 ngFor 替换它,它就可以正常工作。知道可能是什么问题吗?

问题是滚动模块没有导入到正确的模块文件中。它没有给出任何错误,只是给出了一个警告。

发生这种情况是因为您的 itemSize 对于容器高度来说太大了。

虚拟滚动使用 itemSize 来计算适合您的视口的项目数。

您将每个项目的大小设置为 500 像素,这是整个 cdk-virtual-scroll-viewport 容器的大小。尝试设置较小的 itemSize.

此外,这是我制作的虚拟滚动示例(可能对您有所帮助):https://codesandbox.io/s/angular-virtual-scroll-biwn6