先看看效果

代码

helper.js


export const data = [
{
key: "1",
name: "张三",
age: 32,
address: "西湖区湖底公园1号"
},
{
key: "2",
name: "胡彦祖",
age: 42,
address: "西湖区湖底公园2号"
},
{
key: "3",
name: "李四",
age: 22,
address: "西湖区湖底公园3号"
}
]; export const columns = [
{
title: "姓名",
dataIndex: "name",
key: "name"
},
{
title: "年龄",
dataIndex: "age",
key: "age"
},
{
title: "住址",
dataIndex: "address",
key: "address"
}
]

demo.vue

<template>
<div class="demo">
<a-table id="mytb" :dataSource="dataSource" :columns="columns" />
</div>
</template>
<script>
import { data, columns } from "./helper";
import { onMounted } from "@vue/runtime-core";
import Sortable from "sortablejs";
import { message } from "ant-design-vue";
export default {
setup() {
const dataSource = ref([]); // 更新列表接口
const syncdataSource = () => {
const res = await Promise.resolve(data);
dataSource.value = res;
}; //初始化表格拖动
const initSortable = () => {
const mytb = document.querySelector("#mytb tbody");
new Sortable(mytb, {
handle: ".ant-table-row",
animation: 150,
ghostClass: "blue-background-class",
sort: true,
async onEnd({ newIndex, oldIndex }) {
const source = dataSource.value[oldIndex]; // 谁
const destination = dataSource.value[newIndex]; // 移动到哪儿
// 拖动后同步至stata
dataSource.value[newIndex] = source;
dataSource.value[oldIndex] = destination;
message.success('排序完成'); // // 执行接口更新拖动后的接口
// const parmas = {
// sourceId: source.id, //源话术id
// destinationId: destination.id, //目的话术id
// };
// try {
// const res = await api.sort(parmas);
// if (res.code === 0) {
// message.success(`移动成功`);
// } else {
// message.error(`移动失败`);
// }
// } catch (e) {
// message.error(`移动失败`);
// } finally {
// syncdataSource();
// }
},
});
}; onMounted(() => {
syncdataSource();
initSortable();
}); return { dataSource, columns };
},
};
</script>
<style scoped lang="less">
.demo {
width: 800px;
margin: auto;
margin-top: 20px;
}
</style>

antdv和vue3和表格拖拽排序的更多相关文章

  1. react拖拽(表格拖拽排序、普通拖拽排序以及树形拖拽排序)

    表格拖拽排序:组件地址:https://reactabular.js.org/#/drag-and-drop 拖动的排序是用React-DnD:React-DnD:http://react-dnd.g ...

  2. js 实现table表格拖拽和点击表头升降序排序

    js 实现table表格拖拽和点击表头升降序排序,写的比较乱,用的时候可以把其中的一些模块函数提取出来 样式,由于是可拖拽表格,所以样式 table tr th{cursor:move;} js实现 ...

  3. html5 Sortable.js 拖拽排序源码分析

    最近公司项目经常用到一个拖拽 Sortable.js插件,所以有空的时候看了 Sortable.js 源码,总共1300多行这样,写的挺完美的.   本帖属于原创,转载请出名出处. 官网http:// ...

  4. 实现Bootstrap表格拖拽

    实现Bootstrap表格拖拽: 需要引入jquery.min.js.bootstrap相关文件,以及jquery.dragsort-0.5.2.js 代码如下: <html> <h ...

  5. dragsort html拖拽排序

    一.Jquery List DragSort 对于有些页面,如首页的定制,需要进行动态的拖拽排序.由于自己实现比较困难,我们一般会使用一些js插件来实现.dragsort 就是帮助我们完成这一需求.通 ...

  6. jQuery可拖拽排序列表jquery-sortable-lists

    jquery-sortable-lists可以通过鼠标进行拖动排列树型菜单,可以定义某个列表元素是否拖动,拖动后回调,点击可以折叠树型结点,可以用来在后台模仿wordpress后台拖动菜单,实现多级菜 ...

  7. 使用knockout-sortable实现对自定义菜单的拖拽排序

    在开始之前,照例,我们先看效果和功能实现. 关于自定义菜单的实现,这里就不多说了,需要了解的请访问:http://www.cnblogs.com/codelove/p/4838766.html 这里需 ...

  8. RecyclerView拖拽排序和滑动删除实现

    效果图 如何实现 那么是如何实现的呢?主要就要使用到ItemTouchHelper ,ItemTouchHelper 一个帮助开发人员处理拖拽和滑动删除的实现类,它能够让你非常容易实现侧滑删除.拖拽的 ...

  9. ztree使用系列四(ztree实现同级拖拽排序并将排序结果保存数据库)

    ztree这个系列的最后一篇,也是ztree功能强大的体现之中的一个--排序功能. ztree能够实现全部节点之间任意的拖拽排序功能.我这里依据须要实现了仅仅同意同级之间任意拖拽排序,事实上原理都一样 ...

  10. jquery sortTable拖拽排序

    所有的事件回调函数都有两个参数:event和ui,浏览器自有event对象,和经过封装的ui对象   ui.helper - 表示sortable元素的JQuery对象,通常是当前元素的克隆对象   ...

随机推荐

  1. ESP32S3播放音频文件

    ESP32S3播放音频文件 硬件基于立创实战派esp32s3 软件代码基于立创实战派教程修改,分析 播放PCM格式音频 原理图分析 音频芯片ES8311 ES8311_I2C_ADD:0x18 音频功 ...

  2. edge浏览器新版,开心的扔掉chrome!还是微软更良心!windows系统全球用也没说啥!让你android能!

    直接上图吧,这下google慌了吧!微软给力呀!关键是版本直接最新的chromium!比起qq浏览器70,360浏览器78新的多了: 微软开发,质量信得过,就个人隐私之类的我更相信微软,比起googl ...

  3. 关于Linux内核自带GPIO LED控制(正点原子开发板呼吸灯的一些小问题)

    正点原子Linux开发板IMX6ULL上的呼吸灯如何停止? 学习到驱动开发Linux系统自带的LED驱动控制的时候,才知道,原来该呼吸灯经过设备树配置好之后,直接由Linux内核程序配置为呼吸灯(前提 ...

  4. vue3 基础-事件绑定 & 修饰符

    无非就是 js 的一些 事件, 按键, 鼠标 等的一些绑定在 vue 的实现而已, 很好理解. 先来看一个基础例子. 事件初体验 <!DOCTYPE html> <html lang ...

  5. FastAPI与Alembic:数据库迁移的隐秘艺术

    title: FastAPI与Alembic:数据库迁移的隐秘艺术 date: 2025/05/13 02:02:31 updated: 2025/05/13 02:02:31 author: cmd ...

  6. 关于I/O与并发

    前言 由于笔者在之前发布的一文玩转NGINX中提到过I/O复用模型,在此另起一篇文章简述相关技术. 什么是I/O I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分. 在PO ...

  7. CTP报单业务介绍

    程序化登录信息 客户如果需要调用API介入柜台进行程序化交易,登录时需要一些基本信息,如下: 1.BrokerID 简称期货编码,是在该期货公司在CTP系统上的编码,为四位数,例如海通期货是8000 ...

  8. L1-4、如何写出清晰有目标的 Prompt

    -- 写给想真正掌握 Prompt 写作逻辑的人 为什么要"清晰.有目标"? 在用 AI 时,很多人会碰到这些情况: 明明下达了指令,但 AI 总是理解错方向? 想让 AI 写一段 ...

  9. git reset回滚未提交的更改和覆盖分支

    摘要:介绍git reset使用技巧:回滚本地所有未提交的更改,用一个分支覆盖另一个分支.   git回滚本地所有未提交的更改可以使用命令 git reset,它的功能是强制覆盖本地文件到指定分支.切 ...

  10. VS调试DMP文件

    开启DMP文件(引用:https://www.cnblogs.com/netck/p/10483933.html) 1.开启系统服务(Windows Error Reporting Service) ...