Angular拖放CDK无法在兄弟组件和嵌套组件之间拖动。
创始人
2024-10-29 19:31:19
0

在Angular中使用Angular拖放CDK库实现拖放功能时,确实存在兄弟组件和嵌套组件之间拖动的问题。这是因为Angular拖放CDK库的API仅支持在父子组件之间实现拖放。

要解决这个问题,可以使用自定义指令和事件触发器来实现跨兄弟组件和嵌套组件的拖放功能。

首先,创建一个自定义指令,用于标记可拖动的元素:

import { Directive, HostBinding, HostListener } from '@angular/core';

@Directive({
  selector: '[appDraggable]'
})
export class DraggableDirective {
  @HostBinding('class.dragging') dragging = false;

  @HostListener('dragstart', ['$event'])
  onDragStart(event: DragEvent) {
    this.dragging = true;
    event.dataTransfer?.setData('text/plain', ''); // 可根据需求设置传递的数据
  }

  @HostListener('dragend')
  onDragEnd() {
    this.dragging = false;
  }
}

然后,在需要拖动的组件模板中使用该指令:

接下来,创建一个自定义指令,用于标记可接收拖放的元素:

import { Directive, HostListener } from '@angular/core';

@Directive({
  selector: '[appDroppable]'
})
export class DroppableDirective {
  @HostListener('dragover', ['$event'])
  onDragOver(event: DragEvent) {
    event.preventDefault();
  }

  @HostListener('drop', ['$event'])
  onDrop(event: DragEvent) {
    event.preventDefault();
    // 处理拖放的逻辑
  }
}

在需要接收拖放的组件模板中使用该指令:

最后,在父组件中监听拖放事件,并根据需要处理拖放的逻辑:

import { Component } from '@angular/core';

@Component({
  selector: 'app-parent',
  template: `
    
` }) export class ParentComponent { // 处理拖放的逻辑 }

通过以上方法,你可以实现在兄弟组件和嵌套组件之间的拖放功能。注意,在拖动元素时,需要设置相应的数据,以便在drop事件中进行处理。

相关内容

热门资讯

迎来新发展!德州局怎么透视(透... 迎来新发展!德州局怎么透视(透视)一贯是有挂的(有挂工具开挂辅助软件)-哔哩哔哩 >>您好:软件加薇...
今天下午!开心泉州小程序辅助下... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
迎来新发展!wejoker辅助... 迎来新发展!wejoker辅助软件价格(透视)一贯确实有挂(有挂解密开挂辅助平台)-哔哩哔哩 >>您...
据通报!瓜瓜丰城双剑旧版攻略(... 据通报!瓜瓜丰城双剑旧版攻略(辅助挂)一贯是有挂的(有挂诀窍)-哔哩哔哩《详细加薇136704302...
随着!cloudpoker辅助... 随着!cloudpoker辅助(透视)一直真的有挂(讲解有挂开挂辅助辅助器)-哔哩哔哩;cloudp...
有玩家发现!盛世辅助器(辅助挂... 有玩家发现!盛世辅助器(辅助挂)其实有挂(有挂操作)-哔哩哔哩 【无需打开直接搜索加薇1367043...
事发当天!aa poker辅助... 事发当天!aa poker辅助(透视)一直是有挂的(有挂分享开挂辅助脚本)-哔哩哔哩【无需打开直接搜...
据了解!老友广东潮汕软件(辅助... 大家好,今天小编来为大家解答老友广东潮汕软件这个问题咨询软件客服可以免费测试直接加微信(136704...
截至发稿!wepoker私人局... wepoker私人局辅助挂是一款专注玩家量身打造的游戏记牌类型软件,在wepoker私人局辅助挂这款...
今年以来!福州十八扑破解(辅助... 今年以来!福州十八扑破解(辅助挂)原来真的有挂(有挂讲义)-哔哩哔哩您好:福州十八扑破解这款游戏可以...