在ng2-dragula中询问删除确认

时间:2018-01-23 07:51:11

标签: angular typescript drag-and-drop ng2-dragula

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

目前我已启用removeOnSpill: true,因此当用户将项目拖出容器时,该项目将被删除而不会进行确认。

如果在removeOnSpill: true的情况下如何要求确认删除。

1 个答案:

答案 0 :(得分: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();
   }
 }