angular - 德拉古拉 :revert drop in ng2-dragula

标签 angular dragula

我有一个带有 typescriptangular2 应用程序。我正在使用 ng2-dragula制作拖放应用程序。

我需要检查条件,如果条件为假则恢复拖动,我从here知道, revertOnSpillrevertOnSpill:true 可以把元素放回原来的位置。

但是,我不知道在 ng2-dragula 中怎么可能。 我在 onDrop 中实现了它。这是代码

 constructor() {

              dragulaService.drop.subscribe((value) => {
                  this.onDrop(value.slice(1));
              });

                dragulaService.setOptions('second-bag', {
                  removeOnSpill: true
              });
 }

private onDrop(args) {
   bla
   bla
   bla
   if(err.status=="404")                                                               
          this.dragulaService.removeModel;
         // this.dragulaService.cancel; also tried but did not work   
}

这是html代码:

<div   id="toPlay" class="playBox roundedBox" [dragula]="'second-bag'">
    <img class="w3-animate-top" [src]="sax_path" alt="sax" id="saxsophone"/>
    <img class="w3-animate-top" [src]="drum_path" alt="drum" id="drum"/> 
</div>
<div   id="scene"  [dragula]="'second-bag'">

</div> 

Package.json 是:

 "dependencies": {
    "dragula": "^3.7.2"
  },
  "peerDependencies": {
    "@angular/common": "^2.0.0",
    "@angular/core": "^2.0.0",
    "@angular/compiler": "^2.0.0",
    "@angular/forms": "^2.0.0"
  },
  "devDependencies": {
    "angular-cli": "1.0.0-beta.22-1",
    "typescript": "2.0.10"
  }

问题是,我不知道如何取消掉落?

最佳答案

有一个名为 boolean moves 的属性,它控制元素是否可移动

this.dragulaService.setOptions('second-bag', {

        moves:  (el, container, handle) =>{

                             if(YourCondition)
                                     //return true;
                             else
                                     //return false; 
                         }))

关于angular - 德拉古拉 :revert drop in ng2-dragula,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41512773/

相关文章:

angular - 取消掉落 Ng2 德拉古拉

javascript - Dragula - 双击复制元素(移动)

ReactJS 组件渲染顺序错误

javascript - DOM 更改后更新 Vue.js 中的数组顺序

Angular 5 - 输入文本和 ngModel 的奇怪行为

angular - CommonModule 与 Angular BrowserModule

angular - 从一个组件访问变量到另一个组件

angular - NullInjectorError : No provider for MediaMatcher

angular - 当它由 router-outlet 创建时,如何将 css 类应用于组件元素?

javascript - Dragula - 将元素从一个容器拖到不同的元素