我试图按照此链接中的建议来恢复放置操作:
Dragula :revert drop in ng2-dragula
但没有成功。
我想要做的是能够在某些条件下恢复拖动操作。或者在条件下完全禁用Dragula。
HTML:
.ts文件
export class VisibilityConfiguratorComponent implements OnChanges {
colsCopy: ColumnItem[];
constructor(private dragulaService: DragulaService) {
let drake = dragulaService.drop.subscribe((value) => {
this.applyConfig();
});
}
ngOnInit() {
this.dragulaService.setOptions('bag', { moves: (el, container, handle) => { return false; } });
}
}
你可以看到我试图完全禁用移动,但这似乎没有任何效果。
答案 0 :(得分:2)
您可以使用此方法在您的条件下取消拖动操作:
if( yourCondition )
this.dragulaService.find('yourBagName').drake.cancel(true)
您的取消活动中发生的事情取决于您的行李选项,我使用此选项:
this.dragulaService.setOptions('yourBagName', {
revertOnSpill: true
});
如果将此选项设置为行李,则取消事件将恢复拖动操作。 更多选项:https://github.com/bevacqua/dragula#dragulacontainers-options