4

我在我的 Angular5 应用程序中使用 ng2-dragula。在删除项目之前,我需要得到用户的确认。

目前我已经启用 removeOnSpill: true,所以当用户将项目拖出容器时,项目将被删除而无需确认。

如何实现要求确认删除的情况下removeOnSpill: true

4

1 回答 1

0

您应该订阅 drop 事件,当它在容器之外时,您可以在回调中请求确认。

import { Subscription } from 'rxjs';
import { DragulaService } from 'ng2-dragula';

export class MyComponent {
 subs = new Subscription();

 constructor(private dragulaService: DragulaService) {
   this.subs.add(this.dragulaService.drop("VAMPIRES")
     .subscribe(({ name, el, target, source, sibling }) => {
     //something like:
         if(target.className != 'container') { 
           this.dragulaService.find('container').drake.cancel(confirm(
             "Do you really want to erease me? Do you really want to wipe me out?!"))}
      })
     );
   }

   ngOnDestroy() {
   // destroy all the subscriptions at once
     this.subs.unsubscribe();
   }
 }
于 2018-09-18T12:48:25.883 回答