首页 > 解决方案 > 带有虚拟滚动条的 ng2-dragula

问题描述

我正在尝试一起实现ngx-virtual-scrollng2- dragula

这是我目前的Stackblitz更新:Stackblitz

问题如下:

<virtual-scroller #scroll2 [id]="myGroupId" [dragula]="myGroupId" [(dragulaModel)]="myList.list2" [items]="myList.list2" class="virtual-scroller">
    <div class="virtual-scroller-element"  *ngFor="let card of myList.list2; let i = index ">{{myList.list2[i]}}</div>
</virtual-scroller> 

[dragula]="myGroupId"要使 Dragula 工作,组声明和要拖动的项目之间必须没有 HTML 。

但是几乎所有的虚拟滚动器库,包括这个,都会在 div 中创建项目。这是包自动生成的。因此,我的完整 div 将是拖动山墙。

我想知道您是否有任何调整以使其正常工作?

标签: angulardrag-and-dropng2-dragulavirtualscroll

解决方案


我以前没有使用过它,但这似乎可以解决问题(我不知道视觉效果,我想它可以调整,但在功能上它可以工作)。请测试:

<div class="virtual-scroller-container">
  <div  class="virtual-scroller-column">
    <virtual-scroller #scroll1 [id]="myGroupId"  [items]="myList.list1" class="virtual-scroller">
       <div class='container' [dragula]="myGroupId" [(dragulaModel)]="myList.list1">
        <div class="virtual-scroller-element" *ngFor="let card of myList.list1; let i = index ">{{myList.list1[i]}}</div>
      </div>
    </virtual-scroller>
  </div> 
  <div  class="virtual-scroller-column">
    <virtual-scroller #scroll2  [id]="myGroupId" class="virtual-scroller">
        <div class='container' [dragula]="myGroupId" [(dragulaModel)]="myList.list2">
            <div class="virtual-scroller-element"   *ngFor="let card of myList.list2; let i = index ">{{myList.list2[i]}}</div>
        </div>
    </virtual-scroller>
  </div>
  <div  class="virtual-scroller-column">
    <virtual-scroller #scroll3 [id]="myGroupId"  [items]="myList.list3" class="virtual-scroller">
      <div class='container' [dragula]="myGroupId" [(dragulaModel)]="myList.list3">
        <div class="virtual-scroller-element"  *ngFor="let card of myList.list3; let i = index ">{{myList.list3[i]}}</div>
      </div>
    </virtual-scroller>
  </div>
</div>

推荐阅读