vue使用event.dataTransfer实现A容器数据拖拽复制到B容器方式

 更新时间:2026年02月10日 14:16:05   作者:扶苏1002  
这篇文章主要介绍了vue使用event.dataTransfer实现A容器数据拖拽复制到B容器方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

A容器代码

  • template
 <div class="field-list">
   <div
     v-for="col in columns"
     :key="col.columnName"
     class="field-item"
     draggable="true"
     @dragstart="onDragStart($event, col, 'field')"
   >
     <i class="el-icon-document"></i>
     <span class="field-name">{{ col.columnName }}</span>
     <span class="field-comment">{{ col.columnComment }}</span>
   </div>
 </div>
  • 方法
function onDragStart(event, item, type) {
  event.dataTransfer.setData("type", type);
  event.dataTransfer.setData("data", JSON.stringify(item));
}

B容器代码

 <div class="condition-drop" @dragover.prevent @drop="onDropCondition">
   <div
     v-for="(cond, idx) in form.whereConfig.conditions"
     :key="idx"
     class="condition-row"
   >
     <el-tag>{{ cond.field }}</el-tag>
   </div>
 </div>
  • 方法
function onDropCondition(event) {
  const type = event.dataTransfer.getData("type");
  if (type !== "field") return;

  const data = JSON.parse(event.dataTransfer.getData("data"));
  const exists = form.whereConfig.conditions.find((c) => c.field === data.columnName);
  if (!exists) {
    form.whereConfig.conditions.push({
      field: data.columnName,
    });
  }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于vue实现圆形菜单栏组件

    基于vue实现圆形菜单栏组件

    这篇文章主要介绍了基于vue实现的圆形菜单栏组件,本文通过实例代码,图文详解的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • vue+ElementUI更像Excel的表格组件使用详解

    vue+ElementUI更像Excel的表格组件使用详解

    这篇文章主要介绍了如何在前端处理表格数据并展示在Element UI的el-table组件中,核心思想是先构建表头和第一列,然后根据表头和第一行的数据填充表格内容
    2025-12-12
  • vue element和nuxt的使用技巧分享

    vue element和nuxt的使用技巧分享

    这篇文章主要介绍了vue element和nuxt的使用技巧分享,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
    2021-01-01
  • element-ui中样式覆盖问题的方法总结

    element-ui中样式覆盖问题的方法总结

    我们在使用element-ui的时候经常会遇到需要修改组件默认样式,下面这篇文章主要给大家介绍了关于element-ui中样式覆盖问题的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • Vue实现动态样式的多种方法汇总

    Vue实现动态样式的多种方法汇总

    本文要给大家介绍Vue实现动态样式的多种方法,下面给大家带来几个案列,需要的朋友可以借鉴研究一下。
    2021-06-06
  • vue中的mescroll搜索运用及各种填坑处理

    vue中的mescroll搜索运用及各种填坑处理

    这篇文章主要介绍了vue中的mescroll搜索运用及各种填坑处理,文中通过代码给大家讲解了mescroll vue使用,感兴趣的朋友跟随小编一起看看吧
    2019-10-10
  • 使用Vue父子组件通信实现todolist的功能示例代码

    使用Vue父子组件通信实现todolist的功能示例代码

    这篇文章主要给大家介绍了关于如何使用Vue父子组件通信实现todolist的功能的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Vue具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 使用echarts柱状图实现select下拉刷新数据

    使用echarts柱状图实现select下拉刷新数据

    这篇文章主要介绍了使用echarts柱状图实现select下拉刷新数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • 详解vue-cli 3.0 build包太大导致首屏过长的解决方案

    详解vue-cli 3.0 build包太大导致首屏过长的解决方案

    这篇文章主要介绍了详解vue-cli 3.0 build包太大导致首屏过长的解决方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • vue实现Input输入框模糊查询方法

    vue实现Input输入框模糊查询方法

    这篇文章主要为大家详细介绍了vue实现Input输入框模糊查询方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10

最新评论