我试图按照此链接中的建议还原删除操作:
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; } });
  }
}

如你所见,我试图完全禁用move,但这似乎没有任何效果。

最佳答案

在以下情况下,可以使用此方法取消拖动操作:

if( yourCondition )
  this.dragulaService.find('yourBagName').drake.cancel(true)

取消活动中发生的事情取决于您的包选项,我使用此选项:
this.dragulaService.setOptions('yourBagName', {
  revertOnSpill: true
});

如果将此选项设置为您的行李,则取消事件将还原拖动操作。
更多选项:https://github.com/bevacqua/dragula#dragulacontainers-options

09-27 04:05