elementUI Table组件实现拖拽效果
2018-11-03 00:30
836 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26440803/article/details/83663511
背景
使用
Element UI Table+
Vue实现表格的拖拽。在
GitHub上搜索了下发现Sortable这款插件挺不错的,
Star14000+,而且还支持Vue等多种主流的前端框架,可谓是十分的强大。最重要的原因是,完全不依赖
JQ。
Vue版本的
Sortable。拖拽后能够使数据模型同步,完美兼容Vue的数据视图双向绑定。
下面贴一下官方demo
看得出来真的很强大。数据实时的响应同步,结合Vue我们根本不需要对数据进行复杂的逻辑处理。
准备
- 安装依赖
npm i -S vuedraggable
vuedraggable依赖 Sortable.js,所以下载了
vuedraggable,我们便可以直接引入
Sortable使用
Sortable的特性。
vuedraggable是
Sortable一种加强,实现组件化的思想,可以结合Vue,使用起来更方便。
-
Sortable使用
在这里我们还是使用一句
Sortable
的构建方式import Sortable from 'sortablejs';
导入
Sortable
类,创建拖拽函数drag() { const el = document.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]; Sortable.create(el, { disabled: !this.enableDrag, ghostClass: 'sortable-ghost', setData: function(dataTransfer) { dataTransfer.setData('Text', ''); }, onEnd: (evt) => { } }); },
我们在数据加载完成之后,就调用drag()方法来开启拖拽功能。
介绍下几个参数的作用:el
代表我们要侦听拖拽响应的dom
对象 -
disabled
是否开启拖拽 -
ghostClass
拖拽时可以给加上样式 -
setData
回调HTML5 DragEvent的dataTransfer`对象,来设置显示的数据 -
onEnd
结束拖拽后的回调函数,evt
包含oldIndex
,newIndex
等一系列属性。
演示
相关文章推荐
- JS组件Bootstrap Table表格行拖拽效果实现代码
- vue2.0 使用element-ui里的upload组件实现图片预览效果
- Element-UI Table组件上添加列拖拽效果实现方法
- JS组件Bootstrap Table表格多行拖拽效果实现代码
- vue2.0 使用element-ui里的upload组件实现图片预览效果方法
- JS组件Bootstrap Table表格多行拖拽效果实现代码
- JS组件Bootstrap Table表格行拖拽效果实现代码
- 利用vue+elementUI实现部分引入组件的方法详解
- Vue + Element UI 实现权限管理系统 前端篇(七):功能组件封装
- vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
- ElementUI Table公共组件,快速完成table功能搭建
- element-ui移除table组件hover背景色事件
- Android UI设计之<五>自定义DrawView组件,实现数字签名效果
- vue+ElementUI实现订单页动态添加产品数据效果实例代码
- vue+element ui 使用$refs获取el-dialog 下的 el-table 组件 ,以及使用table多选,默认选中
- vue element ui table 过滤功能实现
- 实现element-ui中table点击一行展开
- vue+elementui的table行内实现el-upload文件添加/多文件上传
- Android UI - GridView长按实现拖拽效果
- vue2.0 使用element-ui里的upload组件实现多图上传。采用FORMDATA的方式上传。