• 拖动元素到指定区域

  • 拖放的同时传递数据


1. 安装 ng2-drag-drop

    npm install ng2-drag-drop --save

2. 模板中配置可拖拽元素

    // drag.component.html
<div>
<a href="javascript:;" *ngFor="let item of sysData" draggable [dragData]="item" [dragScope]="'system'">{{ item.name }}</a>
</div>
  • draggable - 表明此元素时可拖拽的

  • [dragData] = 'item' - 在拖动过程中将item数据从draggable到droppable

  • [dragScope]="'system'" - 拖拽范围,和第三步[dropScope]="'system'"相对应;

3. 模板中配置拖拽元素所拖拽的目的地

    // drag.component.ts
<div droppable (onDrop)="onItemDrop($event)" [dropScope]="'system'"></div>
  • droppable - 第二步中拖拽的元素都将拖拽到有droppable指令的元素内;

  • (onDrop) - 当拖拽元素至此区域内后(鼠标释放后),触发onItemDrop方法,其中$event就是第二步中[dragData] = 'item'的item参数

  • [dropScope]="'system'" - 和第二步的[dragScope]="'system'"对应,[dragScope]="'system'"的拖拽元素只能拖拽到 [dropScope]="'system'"元素内;

4. ts文件


// drag.component.ts
export class DragComponent { const sysData = [
{id: '1', name: '拖动元素1'},
{id: '2', name: '拖动元素2'},
{id: '3', name: '拖动元素3'},
{id: '4', name: '拖动元素4'}
]; } onItemDrop(e: any) {
// data为拖拽时传递的数据 - item
const data = e.dragData; }

最新文章

  1. MyBatis1:MyBatis入门
  2. 浅谈人脸检测之Haar分类器方法
  3. MVC筛选自定义属性下拉表
  4. 名词释义(ActiveMQ 和 Webservice)
  5. uvalive 3218 Find the Border
  6. Mysql优化之创建高性能索引(一)
  7. FireDAC
  8. linux下mysql的远程连接
  9. DSP_TMS32F2812的串口操作
  10. Mybatis异常There is no getter for property named &#39;XXX&#39; in &#39;class java.lang.String&#39;
  11. [Spring]初识Spring-Spring的基础使用-如何通过Bean来实例化?
  12. torchvision库简介(翻译)
  13. C# 程序员最常犯的 10 个错误http://www.oschina.net/translate/top-10-mistakes-that-c-sharp-programmers-make
  14. Notification详解(含工具类)
  15. rocketMq排坑:如何设置rocketMq broker的ip地址
  16. 创建/读取/删除Session对象
  17. [Leetcode] valid palindrome 验证回文
  18. Ubuntu批量修改文件后缀
  19. 【bzoj1014】[JSOI2008]火星人prefix Splay+Hash+二分
  20. laravel基础课程---1、laravel安装及基础介绍(laravel如何安装)

热门文章

  1. 【社群话题分享】当 Bug 引发事故时,是否应该追究责任呢?
  2. 分布式唯一ID生成算法-雪花算法
  3. WebGL2系列之采样器对象
  4. Web框架之Gin
  5. Jenkins教程(五)构建Java服务Docker镜像
  6. GO 语言学习笔记--数组切片篇
  7. 大数据平台搭建 - cdh5.11.1 - hbase集群搭建
  8. charles 客户端进程
  9. MySQL 8.0主从(Master-Slave)配置
  10. 创建进程池与线程池concurrent.futures模块的使用