Angular 8 - Автопрокрутка при перетаскивании элемента с помощью cdkDrag и cdk-virtual-scroll - PullRequest
1 голос
/ 27 марта 2020

У меня длинный список элементов, которые нужно перетаскивать. Что работает, если элементы находятся в области просмотра. Страница не прокручивается, если мне нужно перетащить вниз или вверх. Я использую 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?

...