我正在尝试将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 cdkDrag或angulars scrolling决定使用angulars drag and drop.