vue表格拖拽使用Sortable插件库
1 <template >
2 <el-table
3 row-key="name"
4 :data="tableData"
5 stripe style="width:100%;">
6 <el-table-column prop="name" label="测试"></el-table-column>
7 </el-table>
8 </template>
9
10 <script>
11 import Sortable from 'sortablejs'
12
13 export default {
14 data() {
15 return {
16 tableData: [
17 {
18 name: '凯小默111'
19 },
20 {
21 name: '凯小默222'
22 },
23 {
24 name: '凯小默333'
25 },
26 {
27 name: '凯小默444'
28 },
29 {
30 name: '凯小默555'
31 }
32 ]
33 }
34 },
35 mounted() {
36 //使每次都可以拖拽
37 this.$nextTick(()=>{
38 setTimeout(()=>{
39 this.rowDrop();
40 },100)
41 })
42 },
43 methods: {
44 //行拖拽
45 rowDrop() {
46 const tbody = document.querySelector('.el-table__body-wrapper tbody')
47 Sortable.create(tbody, {
48 onEnd:({ newIndex, oldIndex })=> {
49 const currRow = this.tableData.splice(oldIndex, 1)[0];
50 this.tableData.splice(newIndex, 0, currRow);
51 console.log(this.tableData);
52 }
53 })
54 },
55 }
56 }
57 </script>
如果碰到了火狐浏览器拖动会在新窗口打开并去百度进行搜索等问题,如下解决方式:
mounted() {
document.body.ondrop = function (event) {
event.preventDefault()
event.stopPropagation()
}
vue表格拖拽使用Sortable插件库的更多相关文章
- Vue 可拖拽组件 Vue Smooth DnD 详解和应用演示
本文发布自 https://www.cnblogs.com/wenruo/p/15061907.html 转载请注明出处. 简介和 Demo 展示 最近需要有个拖拽列表的需求,发现一个简单好用的 Vu ...
- react拖拽(表格拖拽排序、普通拖拽排序以及树形拖拽排序)
表格拖拽排序:组件地址:https://reactabular.js.org/#/drag-and-drop 拖动的排序是用React-DnD:React-DnD:http://react-dnd.g ...
- js 实现table表格拖拽和点击表头升降序排序
js 实现table表格拖拽和点击表头升降序排序,写的比较乱,用的时候可以把其中的一些模块函数提取出来 样式,由于是可拖拽表格,所以样式 table tr th{cursor:move;} js实现 ...
- div拖拽缩放jquery插件编写——带8个控制点
项目中需要对div进行拖拽缩放,需要有控制面板8个控制点的那种,原以为这么常见的效果应该能搜索到很多相关插件,然而可以完成拖拽的实繁,却找不到我想要的,还是自己动手丰衣足食吧 效果预览(只支持pc端) ...
- 实现Bootstrap表格拖拽
实现Bootstrap表格拖拽: 需要引入jquery.min.js.bootstrap相关文件,以及jquery.dragsort-0.5.2.js 代码如下: <html> <h ...
- 基于Vue实现拖拽效果
参考地址:基于Vue实现拖拽效果 参考链接中讲的比较详细,我只使用了其中自定义指令的方法.整体代码如下: <template> <!-- 卡片 --> <div clas ...
- vue内容拖拽放大缩小
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 自制一个H5图片拖拽、裁剪插件(原生JS)
前言 如今的H5运营活动中,有很多都是让用户拍照或者上传图片,然后对照片加滤镜.加贴纸.评颜值之类的.尤其是一些拍照软件公司的运营活动几乎全部都是这样的. 博主也做过不少,为了省事就封装了一个简单的图 ...
- Vue实现拖拽穿梭框功能四种方式
一.使用原生js实现拖拽 点击打开视频讲解更加详细 <html lang="en"> <head> <meta charset="UTF-8 ...
- jQuery的DOM操作实例(2)——拖拽效果&&拓展插件
一.原生JavaScript编写拖拽效果 二.jQuery编写的拖拽效果 三.在jQuery中拓展一个拖拽插件
随机推荐
- brew mongodb 安装 使用 brew update
参考: 菜鸟教程 https://www.runoob.com/mongodb/mongodb-osx-install.html https://juejin.cn/post/697403663320 ...
- Vue 事件监听
事件监听 v-on 使用v-on进行事件绑定监听,回调函数写在methods中.可以使用@的这种简写形式来代替v-on,当事件源无参数传递时,可省略括号. 语法如下所示: <button @:事 ...
- unity Android 可后台替换图片
using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; usin ...
- jar包启动脚本, 以及外置配置文件application.yml
想使用sh脚本来启动,停止,重启我们的jar服务, 顺便还要外置配置文件方便修改 示例server.sh如下,启动命令为sh server.sh start或restart或stop,修改其中的这几个 ...
- Flutter配置签名打包全流程填坑笔记
1.配置包名和版本 找到android-app-src-build.gradle文件在defaultConfig{...}中配置好版本号以及包名 2.生成key 将keytool路径添加进环境变量,c ...
- win11 改键盘映射
编辑注册表:按下win+r,输入regedit找到这个路径HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Keyboard Layout ...
- mysql 取出分组后价格最高的数据
如何用mysql 取出分组后价格最高的数据 ? 看到这个问题,就想到了用 max 函数和 group by 函数,先 group by 然后取得 max, 但是这样真的可以吗? 不可以 ! 为什么? ...
- signature
signature可以翻译成基调.特征标记.签名.
- HarmonyOS基础
目录 自适应布局 自适应拉伸布局 自适应缩放 自适应延伸 组件多态 ArkUI开发框架 基础组件 Text组件和Span组件 参考 参考:harmonyos3: 鸿蒙ArkUI eTS教程配套源码 参 ...
- Java基于ssm师生实验课-实验室-实验设备预约系统源码
简介 java+ssm开发的实验课实验设备实验室预约系统,老师可预约实验设备和实验室,然后发布实验课和上传实验附件.学生可以报名实验课,也可以自己预约实验室(部分实验室对学生开放)做实验.学生做完实验 ...