使用vuedraggable实现从左向右拖拽

vue实现指定区域自由拖拽、打印功能 先看下效果图,实现指定区域内内容自由拖拽,不超出。动态设置字体颜色及字号;设置完成实现打印指定区域内容,样式不丢失。 1、运行命令npm i vue-draggable-resizable -S, 安装拖拽插件vue-draggable-resizable,并引入使用(下面引入是放入main.js文件中) import VueDraggableResizable from 'vue-draggable-resizable' // optionally import default styles impo 阅读详情

1 功能描述

使用vuedraggable实现从左边框中拖拽到右边的框中,左边的框不能随意拖拽改变位置,不能向左边框中拖拽组件。右边框中的组件可以拖动位置,但不能拖入到左边框里。

注意事项如下:

(1)draggable的group中的name属性必须一致;

(2)左边框中的draggable必须含有以下属性,group中的pull:'clone'属性表示可以生成新的组件;group中的put:false属性表示不能向里面拖拽组件;{sort: false}属性表示不能更改组件的位置。

(3)左边框中的draggable中的clone="cloneItem"表示组件被拖拽到右边框中后,将生成的是新的组件,如果修改右边组件的数据不会影响左边组件的数据。cloneItem实现的是对每个组件的深复制。如果要实现修改两边框中的任何组件,两边组件都会同步变化,则需要删除clone="cloneItem"属性。

(4)右边框中的draggable中的start属性是监听开始拖动组件,add是监听添加组件,可以根据情况调用其中的数据。

(5)从左边框拖入右边框中判断单个数据是否合法,可以使用move属性,如果,左侧单个数据不合法返回false,则无法添加到右侧框中。

2 截图

3 源代码

<template>
  <div class="my_draggle">
    <div class="md_title">使用vuedraggable实现从左到右拖拽</div>
    
    <div class="md_con">
      <draggable
        class="mdc_left"
        v-model="originDataArr"
        v-bind="{sort: false}"
        v-bind:group="{ name:'person', pull:'clone', put:false }"
        v-bind:clone="cloneItem">

        <div v-for="(item,index) in originDataArr" v-bind:key="index">
          <span>{{item.name}}</span>&nbsp;&nbsp;
          <span>{{item.sex}}</span>
        </div>

      </draggable>

      <draggable
        class="mdc_right"
        v-model="newDataArr"
        v-bind:group="{name:'person'}"
        v-on:start="dragItem"
        v-on:add="addItem">
        <div v-for="(item,index) in newDataArr" v-bind:key="index">
          <span><img v-bind:src="item.icon" /></span>&nbsp;&nbsp;
          <span>{{item.name}}</span>&nbsp;&nbsp;
          <span>{{item.sex}}</span>
        </div>
      </draggable>
    </div>
  </div>
</template>

<script>

import draggable from "vuedraggable"

export default {
  name: 'MyDraggle',
  components:{
    draggable
  },
  props: {
    msg: String
  },
  data: function(){
    return{
      originDataArr: new Array(),
      newDataArr: new Array()
    }
  },

  mounted: function(){
    this.initData();
  },

  methods: {
    initData: function(){
      this.originDataArr = [
        {name:"张三", age: 15, sex: "男", icon: require("@/assets/logo.png")},
        {name:"李四", age: 15, sex: "男", icon: require("@/assets/logo.png")},
        {name:"王五", age: 15, sex: "男", icon: require("@/assets/logo.png")},
        {name:"小花", age: 15, sex: "女", icon: require("@/assets/logo.png")}
      ]
    },

    cloneItem: function(val){
      // 深复制一个节点
      return JSON.parse(JSON.stringify(val)) 
    },

    dragItem: function(widget){
      console.log(widget);
    },

    addItem: function(widget){
      console.log(widget);
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.my_draggle{
  position: relative;
}

.md_title{
  font-size: 24px;
  height: 60px;
}

.md_con>div{
  width: 600px;
  height: 600px;
  display: inline-block;
  border: 1px solid #CCCCCC;
  border-radius: 10px;
  vertical-align: top;
}

.mdc_left>div{
  height: 40px;
  line-height: 40px;
  margin-top: 6px;
  border: 1px solid #CCCCCC;
  cursor: move;
  margin: 10px 20px;
}

.mdc_left>div:hover{
  box-shadow: 1px 2px 4px #CCCCCC;
}

.mdc_right>div{
  height: 40px;
  line-height: 40px;
  margin-top: 6px;
  border: 1px solid #CCCCCC;
  cursor: move;
  margin: 10px 20px;
}

.mdc_right>div:hover{
  box-shadow: 1px 2px 4px #CCCCCC;
}

.mdc_right>div>span{
  display: inline-block;
  vertical-align: top;
}

.mdc_right>div>span>img{
  height: 30px;
}

</style>

vue中vuedraggable 拖拽列表的使用 vuedraggable踩坑之路 经历了一些奇奇怪怪的问题我终于从vuedraggable的各种坑中爬出来了!! 接下来我来总结一下它的使用 【想看官网的这里来】 vue中draggable拖拽列表的使用 https://github.com/SortableJS/Vue.Draggable 官方示例: https://sortablejs.github.io/Vue.Draggable/#/transition-example-2 https://david-desmaisons.github.io/draggable-example/ 阅读详情

相关推荐

Vue+VueDraggable实现的拖拽功能(CDN方式使用)

在web开发中拖拽是一门比较常见的实现技术,最近抽空研究了vuedraggable这个组件。下面简单的记录下使用心得。 vuedraggable是一款基于Sortable.js的vue组件,所以他的使用方式就有常规的两种;1、通过npm的包管理工具安装;2、通过CDN引入的方式。通常网上都是npm安装的教程比较多,这边就不多介绍了;研究的时候因为是从轻量级的实现方案考虑,使用了一下CDN的实现方...

syfnext的博客 5216

vuedraggable互相拖动: 禁止拖动元素,和禁止拖动到的区域,以及禁止拖动整体。

vuedraggable互相拖动禁止拖动、区域、位置、元素

weixin_459417989的博客 1万+

【VUE】前端vuedraggable实现拖拽功能,以及vuedraggable和awe-dnd区别

>因为马上要做一个拖拽排序的功能,便先来了解下拖拽框架的使用,网上一搜就可以看到有[vuedraggable](https://www.npmjs.com/package/vuedraggable)和 [awe-dnd](https://github.com/hilongjw/vue-dragging)。这两个是一个东西,不同的是,两个库的里面不同,一个是直接进行组件封装,一个是进行指令封装...

Ercyao的博客 2151

vue中vuedraggable拖拽插件使用,指定范围拖拽。

在后台管理系统中,需求添加某些配置选项,并且选项可以拖拽调整顺序,指定按钮图标允许拖拽,不是整行拖拽。最终将配置的选项传给后端保存。vue.draggable中文文档 - itxst.com。

weixin_69890748的博客 2049

vuedraggable实现两个盒子之间相互拖拽

当涉及到在Vue.js中实现两个盒子之间的相互拖拽功能时,一个非常强大且常用的解决方案是使用vuedraggable插件。vuedraggable是一个基于Vue.js的拖拽排序组件,它能够帮助我们轻松地实现可拖拽的列表和项目。在本篇博客中,我将为你详细介绍如何使用vuedraggable来实现两个盒子之间的相互拖拽功能。通过使用vuedraggable插件,我们可以轻松地实现两个盒子之间的相互拖拽功能。这为用户提供了更好的交互体验,让他们能够自由地重新排序和移动项。

pleaseprintf的博客 1392

#智慧文旅#文创商城管理系统,一站式文旅商品营销管理平台

#智慧文旅#文创商城管理系统满足景区、运营公司或者全域文旅对文创店铺、商品的全流程管理需求,提供文创商品的线上线下产品销售、会员管理、促销管理等服务。包括文创店铺的基本信息管理、文创商品的分类管理、标签管理、上下架管理、库存案例、配送管理等功能。

数字赋能,开启智慧文旅新时代 1174

vuedraggable实战:结合具体应用场景实现列表内拖拽排序、列表间移动、复制,介绍、安装、使用、坑点及解决方案

从实战角度介绍如何使用Draggable实现一个配置功能,用到的关键属性和方法,需要注意的事项,坑点以及解决方案。

学海无涯,行者无疆 7万+

XPe开发初体验(一)XPe概述

XP Embedded是微软Windows Embedded产品线中非常重要的一环,不过比起大名鼎鼎的Windows Embedded CE,XPe显得过于低调了。在接下来的一段时间里,我希望能够用六篇的篇幅来描述一下XPe的整个开发过程。这个系列文章主要是针对有Windows编程经验,但是没有嵌入式开发经验的开发者,提供一些概念和开发过程的初步介绍。XP Embedded是一个基于Windo

aawolf = new Mobile.MVP 1万+

vue中使用drag&drop

H5 原生的drag&drop draggable=true(必需) ondragstart:拖动开始时触发 ondrag:拖动过程中触发 ondragend:拖动结束触发 ondragenter :被拖动元素进入到目标区域时触发 ondragover :被拖动元素在目标区域移动时触发 ondragleave :被拖动元素离开目标区域时触发 ondrop :释放鼠标时触发 Vue中使用 <div class="box" @drop="drop($event)" .

扮老虎的猪 4008

资治通鉴:文言文、白话文对照读本

介绍一处可以免费下载资治通鉴的网址,该文献共20卷,排版为左边是文言文,右边是白话文翻译,对照阅读非常方便。下面是1-20卷的链接地址:第一卷:http://www.docin.com/p-9705067.html 第二卷:http://www.docin.com/p-9705979.html 第三卷:http://www.docin.com/p-9709382.html 第四卷:

aiwis的专栏 2548

Redis中什么是Big Key(大key)问题?如何解决Big Key问题?

通俗易懂的讲,Big Key就是某个key对应的value很大,占用的redis空间很大,本质上是大value问题。key往往是程序可以自行设置的,value往往不受程序控制,因此可能导致value很大。redis中这些Big Key对应的value值很大,在序列化/反序列化过程中花费的时间很大,因此当我们操作Big Key时,通常比较耗时,这就可能导致redis发生阻塞,从而降低redis性能。用几个实际的例子对大Key的特征进行描述:● 一个String类型的Key,它的值为5MB(数据过大); ● 一

weixiaohuai的博客 3万+

Vue拖拽组件vuedraggable

之前负责用 vue 写一个可视化项目,主要负责echarts图表配置和数据建模部分.可视化的需求是根据客户喜好自由拖拽生成一个可预览的大屏,拖拽的话我们用的是vue的draggable组件。注意:vuedraggable新版本废弃了options属性,建议使用v-bind属性作为配置项。来双向绑定本地 data,如果需要更新或者是触发父组件监听的事件,可以在。是标准的组件式封装,并且将可拖动元素放进了。上面,过渡动画都比较好。在使用的时候,可以通过。

sodakii的博客 1万+

VTK在QT与非QT环境下使用的区别

VTK可以在QT框架内使用,也可以独立于QT使用,这两种使用方式在架构、交互和渲染方面有显著差异。

深之JohnChen的专栏 629

基于vuedraggable实现拖拽功能

安装 npm i -S vuedraggable 页面引用 import draggable from 'vuedraggable' 简易使用 template <draggable v-model="fileList" @update="fileDragEnd" v-bind="dragOptions"> <transition-group tag="ul" clas...

萝卜砸大坑 9万+

基于ZYNQ PL的AD7606数据采集与FFT实时频谱分析:从硬件到创新实现

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kKnmpgJm-1750295287594)(https://example.com/fft_plot.png)]本文涉及代码已在Xilinx ZCU102开发板与AD7606评估板上验证通过,采样率支持200KSPS@8通道,FFT计算延迟<1ms。传统MCU+DSP方案难以兼顾速度与功耗,而ZYNQ的PL+PS架构为这一问题提供了完美解决方案。本文实现的ZYNQ PL方案突破了传统处理器的性能瓶颈,通过。

QQ_778132974的博客 339

RSA算法详解:万字文章详解RSA的加密与解密

为了彻彻底底的研究明白RSA算法,真的是。。煞(lei)费(si)苦(wo)心(le),首先我希望自己前前后后、彻彻底底的琢磨明白,其次我也希望我把他分享出来以后,大家都能读得懂,这篇文章真的是我迄今为止写的又臭又长的一篇文章了,但是我能保证的是,你读完了以后,绝对不会再问RSA是啥玩意儿了。。

布啦啦 7668

vuedraggable实现组件拖拽,页面生成器?

使用H5的draggable="true"虽然可以实现拖拽,但如果是在vue中使用,我们需要去封装,虽然不难,但是有成熟的轮子为什么不用呢? 在vue中实现拖拽可以使用vuedraggable实现。 在vue2中的使用有一堆文章,但是在vue3中的使用还是比较少,这里使用vue3进行演示 插件仓库地址:vuedraggable 1、安装 yarn add vuedraggable@next # 或者 npm i -S vuedraggable@next 2、使用 import draggable fr.

butcher的博客 8214

【Python基础】FastAPI 从入门到项目实战操作详解

【Python基础】FastAPI从入门到使用实战操作详解

congge_study的博客 443

VueDraggable实现拖拽功能

是一个功能强大且易于使用的库。v-model和 item-key是基础,必须正确设置。使用 group属性实现多列表交互。通过Props(如animationhandleghostClass) 来定制拖拽行为和外观。监听Events(如endaddchange) 来在拖拽操作后执行业务逻辑(例如,向服务器发送更新后的排序)。利用Slotsitemheaderfooter) 来灵活地定义列表结构。希望这份详尽的指南能帮助你完全掌握!

chaoxxggg的博客 1678

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

如何玩转sortablejs-vuedraggable实现表单嵌套拖拽功能

最近几天在研究有关vue实现拖拽的功能,不过跟一般的拖拽排序有点不同,这个需求可能出现多行多列嵌套的表单元素,数据也是递归形式的出现。我也是在vuedraggable的基础上扩展实现的,如何想了解更多的拖拽排序功能可以参考https://sortablejs.github.io/Vue.Draggable/#/simple 需要实现的功能 表单元素可能出现嵌套,数据出现树形结构 实现拖拽功能...

前端岚枫 7897

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【vue2】vue中使用vuedraggable实现容器可拖拽

vue中使用vuedraggable实现容器(包括div,card等)的可拖拽

NineWaited的博客 2818

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

vue实现拖拽(vuedraggable)

pushComponent方法通用的(传参不同),上面写的有。左侧往右侧拖动,右侧列表可以进行拖拽排序。//点击子节点(叶子节点)

qq_45750213的博客 7307

vue拖拽插件vuedraggable

最近有项目需要用到拖拽改变树结构,给大家推荐vue的插件库vuedraggable(gitHub:https://github.com/SortableJS/Vue.Draggable ),这个插件是基于sortable.js(gitHub:https://github.com/RubaXa/Sortable),所以这个options里面的配置,和sortable.js是一样的。 下面是一个简单...

qq_36711388的博客 1350

VueDraggable实现组件内部拖拽、跨组件拖拽功能

1 功能 2 方案要点 3 实现中的踩的坑 4 代码

weixin_45850417的博客 2722

使用 Vue CLI 和 vuedraggable 实现拖拽排序功能

在现代的前端开发中,拖拽排序功能是一种常见的交互方式,广泛应用于任务管理、列表排序等场景。本文将详细介绍如何使用 Vue CLI 创建一个 Vue 项目,并通过 `vuedraggable` 库实现拖拽排序功能,同时为每个项目随机生成不同的颜色。

interest_ing_的博客 965

Vue下实现拖拽(使用vuedraggable)

Vue下实现拖拽(使用vuedraggable) 由于客户提了一个比较特殊的要求,就是拖拽换房!我当时听到是崩溃的=.=谁让人家是ke(ba)hu(ba)。于是开始摸索。bd了一下,咦,果然有人已经做好了,嘿嘿嘿。贡献出 拖拽插件的github地址 安装 npm i -S vuedraggable 页面里引入 import draggable from 'vuedraggable' 注册为组件...

one__month的博客 2302
上一篇: vue+jsPlumb+vuedraggable实现可拖拽的流程图
下一篇: vue中函数防抖和函数节流
MasonYyp
博客等级 码龄9年 301粉丝 297原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值