直接使用 

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. 两步解决maven plugins 插件下载慢 !下载报红的问题!

    两步解决maven plugins 插件下载慢 !下载报红的问题! 1.找到你解压的maven安装路径下的conf   编辑settings 2.添加如下   使用阿里的 <mirror> ...

  2. mysql表关系

    表与表之间的关系 """ 把所有数据都存放于一张表的弊端 1.组织结构不清晰 2.浪费硬盘空间 3.扩展性极差 """ # 上述的弊端产生原 ...

  3. 360若真入股HTC 到底是谁来拯救谁

    到底是谁来拯救谁" title="360若真入股HTC 到底是谁来拯救谁"> 我总是持有一种观点,那就是拯救是相互的.就像老师拯救"堕落"学生, ...

  4. Dubbo之心跳机制 · 房东的小黑

    在网络传输中,怎么确保通道连接的可用性是一个很重要的问题,简单的说,在网络通信中有客户端和服务端,一个负责发送请求,一个负责接收请求,在保证连接有效性的背景下,这两个物体扮演了什么角色,心跳机制能有效 ...

  5. (为容器分配独立IP方法二)通过虚拟IP实现docker宿主机增加对外IP接口

    虚拟IP.何为虚拟IP,就是一个未分配给真实主机的IP,也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的任意一个都可以连接到这台主机,所有项目中数据库链接一项配 ...

  6. Dubbo源码学习(二)

    @Adaptive注解 在上一篇ExtensionLoader的博客中记录了,有两种扩展点,一种是普通的扩展实现,另一种就是自适应的扩展点,即@Adaptive注解的实现类. @Documented ...

  7. Java入门教程十二(集合与泛型)

    在 Java 中数组的长度是不可修改的.然而在实际应用的很多情况下,无法确定数据数量.这些数据不适合使用数组来保存,这时候就需要使用集合. Java 的集合就像一个容器,用来存储 Java 类的对象. ...

  8. git指令-管理修改

    git指令-管理修改 git管理的不是文件,而是修改 eg:对readme.txt文件进行修改一行 在最后追加一句git has to tracked 然后添加,并且查看状态 cat +文件名称 表示 ...

  9. Python基本小程序

    目录 Python基本小程序 一.筛选从1-100所有的奇数 二.筛选从0-100所有的偶数 三.求1-100之间所有的偶数和,奇数和 四.三个数由小到大输出 五.四个数字重复数字的三位数 Pytho ...

  10. Sentinel Slot扩展实践-流控熔断预警实现

    前言 前几天公司生产环境一个服务由于流量上升触发了 Sentinel 的流控机制,然后用户反馈访问慢,定位发现是 task 定时任务导致,后面 task 优化之后发布,流量恢复正常. 这是一个再正常不 ...