3

我试图遵循此链接中的建议来恢复删除操作:

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; } });
  }
}

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

4

1 回答 1

3

您可以在您的条件下使用此方法取消拖动操作:

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

您的取消活动中发生的事情取决于您的行李选项,我使用这个:

this.dragulaService.setOptions('yourBagName', {
  revertOnSpill: true
});

如果此选项设置为您的包,取消事件将恢复您的拖动操作。更多选项在这里:https ://github.com/bevacqua/dragula#dragulacontainers-options

于 2017-04-18T10:02:02.317 回答