У меня длинный список элементов, которые нужно перетаскивать. Что работает, если элементы находятся в области просмотра. Страница не прокручивается, если мне нужно перетащить вниз или вверх. Я использую CdkVirtualScrollViewport для прокрутки и CdkDragDrop для перетаскивания.
Вот мой html код
<cdk-virtual-scroll-viewport cdkDropList #virtualScroller [itemSize]="100" class="stepViewPort" cdkDropList [cdkDropListData]="listOfSteps" (cdkDropListDropped)="dropSteps($event)" >
<div [@fadeInOut] class="TestSteps example-item" *cdkVirtualFor="let step of listOfSteps;TemplateCacheSize:0 let i=index" cdkDragBoundary=".example-boundary" cdkDrag>
И моя функция файла .ts
dropSteps(event) {
moveItemInArray(
event.container.data,
event.previousIndex,
event.currentIndex
);
let control = <FormArray>this.ActionTypeForm.controls['steps'];
control.controls=event.container.data;
this.listOfSteps = this.ActionTypeForm.get('steps')['controls'];
this.listOfSteps = [...this.listOfSteps];
}
Как реализовать автоматическую прокрутку при перетаскивании с помощью cdkvirtualscroll?