vuedraggable+element ui实现页面控件拖拽排序效果


Posted in Javascript onJuly 29, 2020

项目要实现一些控件的拖拽排序。从而找到了这款vuedraggable控件,供大家参考,具体内容如下

vuedraggable+element ui实现页面控件拖拽排序效果

如上图要实现这些控件的拖拽排序
这是拖拽后

vuedraggable+element ui实现页面控件拖拽排序效果

由于公司网络的原因,项目没有使用npm,都是使用的引入的js

<script type="text/javascript" src="lib/sortable/Sortable.min.js"></script>
<script type="text/javascript" src="lib/vuedraggable/vuedraggable.min.js"></script>

布局代码

<el-form :inline="true">
     <draggable v-model="filters" dragable="true" :move="getdata" @update="datadragEnd">
      <transition-group>
       <el-col :span="8" v-for="filter in filters" :key="filter.filterKey" style="margin-top: 5px">
        <el-form-item :label="filter.name" >
         <el-input v-model="filter.displayName" placeholder="请输入设置属性" @focus="openFilterDialog(filter)"></el-input>
        </el-form-item>
       </el-col>
      </transition-group>
     </draggable>
     <fitlerdialog v-bind:visable=dialogObjectVisible v-bind:avtivefilter=avtivefilter v-on:on-filter-data-change="onFilterDataChange" v-on:filterdialogcancle="handleDialogObjectcancle" v-on:filterdialogclose="handleDialogObjectClose"></fitlerdialog>
</el-form>

标签draggable放在你要拖拽的组件的最外层。

相关的处理代码

getdata(evt) {
 console.log(evt.draggedContext.filterKey)
 //这里evt.draggedContext后续的内容根据具体的定义变量而定
},
datadragEnd(evt) {
 console.log('拖动前的索引 :' + evt.oldIndex)
 console.log('拖动后的索引 :' + evt.newIndex);

 let filters = this.filters;
 for(let a=0;a<filters.length;a++){
  filters[a].index = a;
 }
 vm.report.filter = filters;

}

这里是因为我们需要将每个的顺序记录下来所以有业务代码。
每次移动后,可以通过v-model获取所有的控件,他们的顺序是当前排好的顺序,再进行index顺序记录。

evt为object,他的内容较多。

vuedraggable+element ui实现页面控件拖拽排序效果

draggedContext: 被拖拽元素的上下文

index:拖拽元素的指针
element: 拖拽数据本身
futureIndex: 拖动后的index

element如图:

vuedraggable+element ui实现页面控件拖拽排序效果

这是filters定义的数据本身也就是v-model内容。

relatedContext: 拖入区域的上下文

index: 目标元素的index
element:目标数据本身
list: 拖入的列表
component:目标组件

dragged:被拖拽元素的指向

大概就这些,功能较简单,但满足了要求就行。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
window.js 主要包含了页面的一些操作
Dec 23 Javascript
JQuery的ajax获取数据后的处理总结(html,xml,json)
Jul 14 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
Sep 20 Javascript
用JavaScript修改CSS属性的代码
May 06 Javascript
javascript实现复制与粘贴操作实例
Oct 16 Javascript
js实现禁止中文输入的方法
Jan 14 Javascript
Angularjs的ng-repeat中去除重复数据的方法
Aug 05 Javascript
解决给dom元素绑定click等事件无效问题的方法
Feb 17 Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
Feb 28 Javascript
详解Vue源码之数据的代理访问
Dec 11 Javascript
Vue项目服务器部署之子目录部署方法
May 12 Javascript
JavaScript如何优化逻辑判断代码详解
Jun 08 Javascript
Vue组件Draggable实现拖拽功能
Dec 01 #Javascript
BootStrap modal实现拖拽功能
Dec 01 #Javascript
vuejs2.0运用原生js实现简单拖拽元素功能
Aug 21 #Javascript
BootStrap table实现表格行拖拽效果
Dec 01 #Javascript
一次Webpack配置文件的分离实战记录
Nov 30 #Javascript
基于Vue组件化的日期联动选择器功能的实现代码
Nov 30 #Javascript
vue拖拽排序插件vuedraggable使用方法详解
Aug 21 #Javascript
You might like
提升PHP执行速度全攻略
2006/10/09 PHP
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
2013/07/01 PHP
使用js获取QueryString的方法小结
2010/02/28 Javascript
js触发select onchange事件的小技巧
2014/08/05 Javascript
jQuery中:selected选择器用法实例
2015/01/04 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
2016/11/01 Javascript
折叠菜单及选择器的运用
2017/02/03 Javascript
详解Vue2.0里过滤器容易踩到的坑
2017/06/01 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
vue element自定义表单验证请求后端接口验证
2019/12/11 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
[02:36]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma 选手采访
2021/03/11 DOTA
python不换行之end=与逗号的意思及用途
2017/11/21 Python
Python3匿名函数用法示例
2018/07/25 Python
python 在某.py文件中调用其他.py内的函数的方法
2019/06/25 Python
python线程join方法原理解析
2020/02/11 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
AmazeUI底部导航栏与分享按钮的示例代码
2020/08/18 HTML / CSS
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
Keds官方网站:购买帆布运动鞋和经典皮鞋
2016/11/12 全球购物
中国跨镜手机配件批发在线商店:TVC-Mall
2019/08/20 全球购物
高分子材料个人求职信范文
2013/09/25 职场文书
工商管理本科毕业生求职信范文
2013/10/05 职场文书
工程造价管理专业大专生求职信
2013/10/06 职场文书
《月光启蒙》教学反思
2014/03/01 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
车间质检员岗位职责
2015/04/08 职场文书
师德承诺书2015
2015/04/28 职场文书
2016年教师节贺卡寄语
2015/12/04 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers
Python制作表白爱心合集
2022/01/22 Python