Dragula 禁用拖动重新排序
Dragula disable drag to reorder
我正在使用这个很棒的库来实现拖放功能。
Dragula 非常擅长拖放。
我想做的一件事是禁用拖动以在自己的容器中重新排序。但如果要放入 connected/linked 容器中,应该允许拖动。
例如将两个 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;
}
});
}
我正在使用这个很棒的库来实现拖放功能。 Dragula 非常擅长拖放。
我想做的一件事是禁用拖动以在自己的容器中重新排序。但如果要放入 connected/linked 容器中,应该允许拖动。
例如将两个 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;
}
});
}