Dragula禁用拖动以重新排序

时间:2019-01-23 01:38:15

标签: dragula ng2-dragula

我正在使用这个很棒的库来实现拖放功能。 Dragula非常擅长拖放。

我想做的一件事是禁用拖动以在自己的容器中重新排序。但是,如果要放入连接/链接的容器中,则应允许拖动。

例如跟随两个div标签作为容器

<div dragula="dropContainer" id="dropbag1" [(dragulaModel)]="bagOneModel">
   <div *ngFor="let model of bagOneModel" class="col-sm-2 col-md-2 col-lg-2">
     {{model}}
   </div>
</div>


<div dragula="dropContainer" id="dropbag2" [(dragulaModel)]="bag2Model">
   <div *ngFor="let model of bag2Model" class="col-sm-2 col-md-2 col-lg-2">
     {{model}}
    <!-- don't allow re ordering in this container -->
   </div>
</div>

1 个答案:

答案 0 :(得分:1)

创建允许拖动的内容非常容易:

  • 从A到B
  • 从B到A 并禁用
  • 在A内重新排序
  • 在B内重新排序

在您的name.component.ts中,您应该添加:

constructor(public dragulaService: DragulaService) {

    dragulaService.createGroup('dropContainer', {
        accepts: (el, target, source, sibling): boolean => {
            if (!target || !source || (target === source)) {
                 return false;
            }
            return true;
        }    
    });
}