我正在使用这个很棒的库进行拖放功能。德拉古拉非常擅长拖放。
我正在尝试做的一件事是禁用拖动以在自己的容器中重新排序。但是,如果要放入连接/链接的容器中,则应允许拖动。
例如,跟随两个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>
创建允许拖动的内容非常容易:
- 从 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;
}
});
}