如何将Angular的材质拖放与虚拟滚动集成?

我正在尝试将Angular材质的虚拟滚动与拖放相结合,但出于某种原因,当我尝试实现它时,它会恢复项目,当我试图拖放元素时它不起作用.

以下是代码的摘要

<cdk-virtual-scroll-viewport cdkDropList  itemSize="50" class="example-viewport">
  <div cdkDrag *cdkVirtualFor="let item of items" class="example-item">{{item}}</div>
</cdk-virtual-scroll-viewport>

正如你所看到的,我没有做任何特别的事情,除此之外我用cdkVirtualFor替换了* ngFor因为docs告诉我:

*cdkVirtualFor replaces *ngFor inside of a <cdk-virtual-scroll-viewport>, supporting the exact same API as *ngFor.

我在这附上了stackblitz demo!那么,如何将拖放与虚拟滚动集成?

最佳答案 我很吵,但我认为Angular材料cdkDrag目前不适用于虚拟滚动,请参阅链接材料
issue.

在提到的线程之后,只有一个demo似乎可以工作,但是提供的sources遗憾地只能用作编译的js而不是ts.

事实上,您必须通过virtual scroll cdkDragangulars scrolling决定使用angulars drag and drop.

点赞