取消掉落Ng2 Dragula

时间:2017-04-04 14:30:42

标签: angular dragula

我试图按照此链接中的建议来恢复放置操作:

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

你可以看到我试图完全禁用移动,但这似乎没有任何效果。

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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