先看看效果

代码

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. Tomcat知识点整理

    从学习起就开始接触tomcat, 解压, 点击运行, 然后放文件夹里面会自动部署, 可以通过ip访问. 在这里主要记录一些tomcat相关的知识点 配置文件解析(留位置) server.xml/web ...

  2. 求水仙花数和敲桌子小游戏(C++版)

    求水仙花数 for循环书写水仙花数 #include<iostream> using namespace std; int main() { int num = 0; int a=0, b ...

  3. 🎀windows-剪切板

    简介 Windows 剪贴板是一个临时存储区域,它允许用户在不同应用程序之间复制和粘贴文本.图像和其他类型的数据.从 Windows 10 开始,微软引入了一个改进的剪贴板功能,称为剪贴板历史记录,它 ...

  4. strftime()函数的用法

    strftime()函数的用法 strftime()函数可以把YYYY-MM-DD HH:MM:SS格式的日期字符串转换成其它形式的字符串.strftime()的语法是strftime(格式, 日期/ ...

  5. 工具 | MemShellParty

    0x00 简介 MemShellParty是一键常见中间件框架内存马生成工具.一键生成常见中间件框架内存马,让内存马测试变得简单高效,打造内存马的全方位学习平台 下载地址: MemShellParty ...

  6. 关于网传微信聊天记录提取工具"留痕"盗取个人信息的分析

    今天早上看到一篇文章,是关于一个微信聊天记录提取工具泄露个人信息的内容,于是我就好奇,看了一下作者的 github,然后也是自己小小的分析了一下 1.官方地址 Github: https://gith ...

  7. UnoCSS原子CSS引擎

    UnoCSS是一款原子化的即时按需 CSS 引擎,其中没有核心实用程序,所有功能都是通过预设提供的.默认情况下UnoCSS应用通过预设来实现相关功能. UnoCSS中文文档: https://www. ...

  8. 关于ADB-数据包抓取-反编译工具(手机刷机使用)

    1 逆向基本流程 1 获取目标app(官网,豌豆荚),尽量不要去华为应用市场,小米应用市场下载--多渠道打包,安装到手机上 2 使用抓包工具抓包分析(charles,fiddler...) 3 使用反 ...

  9. IP到国家代码映射之GeoLite2导入到MySQL形成数据字典

    一.准备CSV文件与MySQL表结构‌ ‌下载并解压GeoLite2-Country-CSV数据‌ 从 MaxMind 下载 GeoLite2-Country-CSV.zip,解压后获取以下文件: G ...

  10. WindowsPE文件格式入门06.手写最小PE

    https://bpsend.net/thread-346-1-1.html 实现目标 实现目标:手写实现不大于 200 Byte大小的PE文件(又名:畸形PE/变形PE),要求MessageBox弹 ...