直接使用 

npm i -S vuedraggable 

页面使用

<template>
<div class="addProduct">
<el-dialog title="流程" :visible.sync="addTemplate" width="900px">
<div class="flex">
<div class="addTemplate-left">
<div @click="addType=false">完整三代</div>
<div @click="addType=false">完整三代</div>
<div @click="addType=false">完整三代</div>
<div @click="addType=true">+新增流程</div>
</div>
<div class="flex addTemplate-content">
<div class="addTemplate-content-left">
<div class="addTemplate-content-left-title">完整三代流程</div>
<div style="margin:0 15px 8px 15px;" v-if="addType">
<div style="padding:10px 0;">
<span class="colorRed">*</span>流程名称
</div>
<el-input placeholder="请输入流程名称" style="width:190px;"></el-input>
</div>
<draggable
v-model="fruit"
:options="dragOptions2"
:move="allow"
:clone="clone"
class="addTemplate-content-left-draggble"
:style="addType?'height:335px;':''"
>
<div
v-for="(element,index) in fruit"
:key="index"
class="draggable-name flex-justify-between"
>
<div>
<span class="draggable-name-border">{{index+1}}</span>
{{element}}
</div>
<i class="el-icon-close" @click="draggChange('fruit',index)"></i>
</div>
</draggable>
</div>
<div class="addTemplate-content-right">
<draggable
v-model="girl"
:options="dragOptions1"
class="flex addTemplate-content-right-list"
>
<div
v-for="(element,index) in girl"
:key="index"
class="draggable-name-right"
>{{element}}</div>
</draggable>
<div class="draggable-name-right">+新增流程</div>
</div>
</div>
</div> <span slot="footer" class="dialog-footer">
<el-button @click="addTemplate = false">取消</el-button>
<el-button type="primary" @click="addTemplateChange">保存</el-button>
</span>
</el-dialog>
</div>
</template> <script>
import draggable from "vuedraggable";
export default {
name: "addProduct",
data() {
return {
fruit: [
"我是一",
"我是二",
"我是三",
],
girl: ["你是一", "你是二", "你是三", "你是死"],
addTemplate: true,
flowIndex: 0,
dragOptions1: {
animation: 0,
group: {
name: "description",
pull: "clone",
put: false
},
ghostClass: "ghost"
},
dragOptions2: {
animation: 0,
group: "description"
}
};
},
components: {
draggable
}, methods: { clone(e) {
console.log(e);
},
allow(evt) {
// console.log(evt)
// console.log(evt.relatedContext)
// return (evt.draggedContext.element.name!== 'b')
}
}
};
</script>
<style scoped lang="scss">
@import "../../filters/css/all.css";
.addProduct {
.addTemplate-left {
width: 200px;
border: 1px solid #d6d6d6;
text-align: center;
> div {
padding: 10px 0;
}
}
.addTemplate-content {
.addTemplate-content-left {
width: 400px;
height: 480px;
background: #f4f4f4;
.addTemplate-content-left-title {
font-size: 16px;
font-weight: 700;
padding: 10px 15px;
}
.addTemplate-content-left-draggble {
margin: auto;
width: 280px;
height: 420px;
overflow-x: visible;
overflow-y: auto;
}
.addTemplate-content-left-draggble::-webkit-scrollbar {
display: none;
}
.draggable-name {
padding: 10px 10px;
background: #fff;
border: 1px dashed #d6d6d6;
width: 200px;
border-radius: 5px;
margin: 5px;
margin-right: 30px;
margin-left: 35px;
position: relative;
.draggable-name-border {
position: absolute;
left: -30px;
top: 8px;
color: rgb(0, 102, 255);
background: #fff;
z-index: 1002;
border: 1px solid rgb(0, 102, 255);
border-radius: 50%;
width: 20px;
height: 20px;
display: block;
line-height: 20px;
text-align: center;
}
.el-icon-close {
position: absolute;
right: -25px;
top: 8px;
z-index: 1002;
border-radius: 50%;
width: 20px;
height: 20px;
display: block;
line-height: 20px;
text-align: center;
}
}
}
.addTemplate-content-right {
width: 265px;
border: 1px solid #d6d6d6;
.addTemplate-content-right-list {
flex-wrap: wrap;
}
.draggable-name-right {
border: 1px dashed #d6d6d6;
padding: 10px 0;
width: 120px;
text-align: center;
margin: 5px;
border-radius: 5px;
}
}
}
}
</style>

  效果

录制效果有点卡顿 
 

vue 拖拽框架 draggable的更多相关文章

  1. vue拖拽组件开发

    vue拖拽组件开发 创建临时vue项目 先查看node和npm版本,怎么安装就不多多bb了 再安装vue-cli npm install vue-cli -g //全局安装 vue-cli 检测是否安 ...

  2. Vue拖拽组件

    vue开发公众号项目,***产品需要添加一个新的功能.拖拽功能.一听简单.百度上轮子挺多,直接拉一个过来用着就行.然鹅...兴奋之余,却失望至极.东西很多,没有一个能使得.你让我失望,那我就让你绝望. ...

  3. jquery UI 跟随学习笔记——拖拽(Draggable)

    引言 这周暂时没有任务下达,所以老大给我的任务就是熟悉jquery相关插件,我就先选择了jquery UI插件,以及jquery库学习. 我用了两天的时候熟悉Interactions模块中的Dragg ...

  4. Vue.Draggable:基于 Sortable.js 的 Vue 拖拽组件使用中遇到的问题

    Sortable.js 介绍 https://segmentfault.com/a/1190000008209715 项目中遇到的问题: A - 我需要在项目的拖拽组件中,使用背景 1 - 想到的第一 ...

  5. Vue 拖拽组件 vuedraggable 和 vue-dragging

    一.描述 之前用 vue 写过一个在线的多二维码生成服务,体验地址:https://postbird.gitee.io/vue-online-qrcode/ 后面发现二维码多了之后有时候想要排序,需要 ...

  6. vue拖拽插件(弹框拖拽)

    // =======拖拽 插件 cnpm install vuedraggableimport draggable from 'vuedraggable' <draggable v-model= ...

  7. Vue拖拽交换数据(非插件)

    HelloWorld.vue 文件 <template> <div class="hello"> <h1>{{ msg }}</h1> ...

  8. vue 拖拽移动(类似于iPhone虚拟home )

    vue 移动端 PC 兼容 元素 拖拽移动  效果演示 事件知识点 移动端 PC端 注释 touchstart mousedown 鼠标/手指按下事件 touchmove mousemove 鼠标/手 ...

  9. 前端vue拖拽

    工作上遇到的需求:页面上需要拖拽一个小方块div拷贝至保存的容器中. 一.可拖拽 那么我们需要对小方块div进行授权,设置draggable="true"允许其被拖动 二.定义拖拽 ...

随机推荐

  1. 吴裕雄--天生自然KITTEN编程:躲迷藏

  2. BeWhatever

    Hadoop Distributed File System:分布式文件系统. HDFS基于流数据模式访问和处理超大文件需求开发,具有高容错性,高可靠性,高可扩展性,多部署在低成本的硬件上.HDFS提 ...

  3. django--ajax的使用,应用

    Ajax简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进行异步交互,传输的数 ...

  4. windows7 64位系统下无法运行ipython

    windows7 64位系统下无法运行ipython | Creator 导航 导航 博客 分类 标签 友链 关于 大专栏  windows7 64位系统下无法运行ipythontent-post L ...

  5. hihoCoder 1128 二分查找

    Description Input and Output Codes 描述#1128 : 二分·二分查找 Description Nettle最近在玩<艦これ>,因此Nettle收集了很多 ...

  6. 浅谈了解JDBC

    目录 前言 作用 JDBC的架构 步骤 JDBC常见的关键字解释 前言 Java数据库连接,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法.J ...

  7. 改进"尽最大努力交付"的服务

    改进"尽最大努力交付"的服务 网络层的作用就是负责在不同的网段尽力转发数据包,但是负责中专数据包的路由器并不关心数据包的内容和优先顺序.而是先到达的数据包先处理,后到达的数据包排队 ...

  8. #2020.1.26笔记——springdatajpa

    2020.1.26笔记--springdatajpa 使用jpa的步骤: 1. 导入maven坐标 <?xml version="1.0" encoding="UT ...

  9. python 临时文件

    1. TemporaryFile 临时文件 TemporaryFile 不在硬盘上的生成真正文件,而是写在内存中 from tempfile import TemporaryFile # , Name ...

  10. OpenCV3入门(十二)角点检测

    1.角点介绍 角点检测(Corner Detection)是计算机视觉系统中用来获得图像特征的一种方法,广泛应用于运动检测.图像匹配.视频跟踪.三维建模和目标识别等领域中,也称为特征点检测.在图像中角 ...