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 相关文章推荐
兼容IE和FF的js脚本代码小结(比较常用)
Dec 06 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
Dec 15 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
Dec 27 Javascript
javaScript中的this示例学习详解及工作原理
Jan 13 Javascript
jquery动感漂浮导航菜单代码分享
Apr 15 Javascript
JavaScript String 对象常用方法详解
May 13 Javascript
微信小程序 自己制作小组件实例详解
Dec 22 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
Feb 19 Javascript
JS检测数组类型的方法小结
Mar 14 Javascript
zTree异步加载展开第一级节点的实现方法
Sep 05 Javascript
jQuery实现动态加载select下拉列表项功能示例
May 31 jQuery
AngularJS使用$http配置对象方式与服务端交互方法
Aug 13 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 cookies中删除的一般赋值方法
2011/05/07 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
总结PHP中初始化空数组的最佳方法
2019/02/13 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
javascript hashtable 修正版 下载
2010/12/30 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
超详细的JS弹出窗口代码大全
2020/04/18 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
Python实现端口复用实例代码
2014/07/03 Python
python通过ssh-powershell监控windows的方法
2015/06/02 Python
用生成器来改写直接返回列表的函数方法
2017/05/25 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
Django REST框架创建一个简单的Api实例讲解
2019/11/05 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
Python sublime安装及配置过程详解
2020/06/29 Python
Django REST Framework 分页(Pagination)详解
2020/11/30 Python
一款利用html5和css3动画排列人物头像的实例演示
2014/12/05 HTML / CSS
AJAX应用和传统Web应用有什么不同
2013/08/24 面试题
《大禹治水》教学反思
2014/04/27 职场文书
教师见习期自我鉴定
2014/04/28 职场文书
新闻编辑求职信
2014/07/13 职场文书
工作能力自我评价2015
2015/03/05 职场文书
专家推荐信范文
2015/03/26 职场文书
小学班主任教育随笔
2015/08/15 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书