【问题标题】:Cancel drop Ng2 Dragula取消放置 Ng2 Dragula
【发布时间】:2017-04-04 14:30:42
【问题描述】:

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

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

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

【问题讨论】:

标签: angular dragula


【解决方案1】:

您可以根据自己的情况使用此方法取消拖动操作:

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

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

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

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

【讨论】:

  • 抱歉,您的解决方案不适合我。此外,我不想 revertOnSpill 但根本不允许用户在特殊条件下拖动元素。当条件改变时,用户应该能够拖动元素。
  • 我没有使用revertOnSpill。但我能够使用 drake.cancel(true) 防止在特定条件下的拖累。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-22
  • 1970-01-01
  • 2017-09-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多