使用vue3在element plus中在el-table中拖拽
1.安装 vuedraggable
npm i -S vuedraggable
2.在使用的组件,引入。sortablejs包含在vuedraggable
import Sortable from "sortablejs"
3.row-key 必须设置
<div class="list">
<div class="f-j-b" style="padding-bottom: 10px;">
<div>数据列表</div>
</div>
<el-table :data="tableData" border row-key="id">
<el-table-column prop="name1" label="数据1" align="center" />
<el-table-column prop="name2" label="数据2" align="center" />
<el-table-column prop="originalPrice" label="数据3" align="center" />
</el-table>
</div>
4.在setup()中编写拖拽的逻辑,创建一个Sortable的实例,将需要拖拽的元素给到Sortable实例,进行需要的配置,然后在拖拽结束的方法onEnd()中实现改变排序的逻辑
// 表格行拖拽
const rowDrop = () => {
let tbody = document.querySelector(".el-table__body-wrapper tbody");
Sortable.create(tbody, {
group: { // 相同的组之间可以相互拖拽
name: "table",
pull: true,
put: true,
},
animation: 150, // ms, number 单位:ms,定义排序动画的时间
onAdd: function (e: any) {
// 拖拽时候添加有新的节点的时候发生该事件
console.log("onAdd.foo:", e);
},
onUpdate: function (e: any) {
// 拖拽更新节点位置发生该事件
console.log("onUpdate.foo:", e);
},
onRemove: function (e: any) {
// 删除拖拽节点的时候促发该事件
console.log("onRemove.foo:", e);
},
onStart: function (e: any) {
// 开始拖拽出发该函数
console.log("onStart.foo:", e);
},
onSort: function (e: any) {
// 发生排序发生该事件
console.log("onUpdate.foo:", e);
},
onEnd(e: any) {
// 结束拖拽
console.log("结束表格拖拽", e);
// 如果拖拽结束后顺序发生了变化,则对数据进行修改
if (e.oldIndex !== e.newIndex) {
moveTable(e.oldIndex, e.newIndex) // 排序后和后端的交互函数
}
},
});
}
参考:https://www.itxst.com/vue-draggable/tutorial.html
https://blog.csdn.net/weixin_40449665/article/details/126160894
使用vue3在element plus中在el-table中拖拽的更多相关文章
- 在基于ABP框架的前端项目Vue&Element项目中采用电子签名的处理
在前面随笔介绍了<在基于ABP框架的前端项目Vue&Element项目中采用电子签章处理文件和打印处理>的处理,有的时候,我们在流程中或者一些文件签署的时候,需要签上自己的大名,一 ...
- 打不开 github 的方法与推荐基于Vue3与Element plus的后台管理系统
一.打不开 github 的方法 1.打开本机 hosts 文件(C:\Windows\System32\drivers\etc) 2.然后在 hosts 文件里的末尾放入一下两个 IP 地址: # ...
- js 中使用el表达式 关键总结:在js中使用el表达式一定要使用双引号
js 中使用el表达式 关键总结:在js中使用el表达式一定要加双引号 js控制中用到了el表达式,最开始源码如下: var selected = ${requestScope.xxxxForm.re ...
- 谈谈Backbone.js中的el
小编最近开始接触backbone.js,这个曾经非常优秀的一款MVC前端框架,在学习的过程中,遇到下图的这样一个问题 下面上代码 小编的想法很简单,只是view了一个实例,然后在initalize中调 ...
- js文件中使用EL表达式的问题
var str = '${str}' ; var str = '${obj.属性名}'; 只可以再jsp页面的<script></script>中使用,外部引入的js文件中不能 ...
- element框架中表格的筛选功能使用说明(转载)
一.element框架中表格的筛选功能使用说明 转载:https://blog.csdn.net/liangxhblog/article/details/80513030 在element ui 框架 ...
- Element UI 中组件this.$message报错
最近在做毕设的时候,用Element UI中的消息提示message一直报以下的错误: 展示的效果也不好看,没有图标什么的: 但我明明有在main.js引入了element-ui 呀,因为毕设时间很赶 ...
- jsp中的el表达式没有解析
今天发现jsp中的el表达式没有解析,把解决的过程记录一下 在web.xml的web-app节点的版本改成2.4以上
- JS中输出EL表达式
要在javascript中使用El表达式,需要在el表达式两端加上单引号或者双引号 <script type="text/javascript"> jQuery(doc ...
- 转:el表达式获取map对象的内容 & js中使用el表达式 & js 中使用jstl 实现 session.removeattribute
原文链接: ①EL表达式取Map,List值的总结 ②在jsp中使用el表达式通过键获得后台的一个map<Long,String>的值 ③在javascript中使用el表达式(有图有真相 ...
随机推荐
- Software_programming_EnterpriseArch_ServiceWithSingleTonFactory
19:50:31 <UML 模式和应用> P322 系统需要支持多种第三方外部服务,例如费用计算,授权服务,库存系统,都具有不同的API, 而且还无法改变. 解决方案之一: 使用 单例模式 ...
- docker中安装db2
1.查看可安装的db2版本 docker search db2express-c2.下载db2镜像 docker pull ibmoms/db2express-c 3.安装镜像docker run ...
- elementui树状结构添加右键点击事件
<el-tree :highlight-current="highlight" :data="folderList" :props="defau ...
- 一、100ASK_IMX6ULL嵌入式裸板学习_LED实验(知识点补充)
知识点补充: Linux进程中的五个段 BSS段(Block Started bySymbol,意为"以符号开始的块"): BSS,是Unix链接器产生的未初始化数据段.通常是 ...
- 【GENERAL FRAMEWORK】总框架——持续更新
引: 鉴于目前挖的坑较多,未防止某些即将长期更新的博文出现烂尾,特设此框架 1.蓝桥杯(完结) 1.[蓝桥杯单片机组]LED.蜂鸣器与继电器--138-573的外设操作 ...
- P12证书转BKS证书
安卓 识别的证书格式是bks ,而我之前生成的证书格式是p12 所以需要转换一下,至于怎么生成p12,请看我转载的的文章 Nginx https 双向认证. 1.请先下载第三方转换工具protecl ...
- 关于sqlyang 连接远程服务器 MySQL "1251-client does not support authentication..."的处理办法
原因是在mysql8之前的版本中加密规则为mysql_native_password而在mysql8以后的加密规则为caching_sha2_password. 做如下修改 ALTER USER 'r ...
- Markdown的在线使用
欢迎使用 Markdown在线编辑器 MdEditor Markdown是一种轻量级的「标记语言」 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容 ...
- Generamba构建模板,让开发变得更高效
Generamba Generamba:是为使用 Xcode 而设计的代码生成器.它主要设计用于生成 VIPER 模块,但很容易自定义模板以生成任何其他模板(在 Objective-C 和 Swift ...
- 【msys2】更新镜像源
更新镜像源 镜像源的地址如:D:\msys64\etc\pacman.d 从下面选择镜像源剪切到Primary中第一行: 如下图,目录底下的所有都需要更改: 之后需要强制更新一下列表,https:// ...