我正在使用<cdk-virtual-scroll-viewport>
和固定大小的项目进行虚拟滚动。
此外,我使用CDK A11y提供的ActiveDescendantKeyManager
来移动视口内的箭头键。
当我尝试同时使用它们时,出现以下问题:
由于虚拟滚动仅加载部分信息,并且在滚动(回收视图)时加载更多信息,因此ActiveDescendantKeyManager
仅获得<cdk-virtual-scroll-viewport>
加载的当前项目的索引。随着加载次数的增加,索引会重复出现,因为虚拟滚动会添加和删除项目,keyManager
的行为很奇怪,因为我希望索引是有序的(如果我有5000个项目,我希望索引在其中顺序,不仅从1-24开始,而且每次我滚动时都重复一次)。
Here is an example on stackblitz
我的问题是:有什么办法可以与他们两个一起工作?因为我要尝试的是使用箭头键移动到以下滚动索引。