使用sortablejs+antdv进行拖到排序

安装sortablejs
npm i sortablejs

vue代码

1
2
3
4
5
6
<Table
ref="zjTableRef"
:dataSource="dataSource"
:columns="columns"
row-key="id"
></Table>

js代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const zjTableRef = ref()
const tbody = zjTableRef.value?.$el?.querySelector(".ant-table-tbody");
if (!tbody) return;

sortableInstance.value = Sortable.create(tbody, {
animation: 150,
handle: ".ant-table-row",
onEnd: ({ oldIndex, newIndex }) => {
if (oldIndex === newIndex) return;
// **调整 tableData 的顺序**
const [movedItem] = dataSource.value.splice(oldIndex, 1); // 移除拖拽的元素
dataSource.value.splice(newIndex, 0, movedItem); // 插入到新的位置
dataSource.value = [...dataSource.value];
},
});

使用sortablejs+antdv进行拖到排序
https://mengluo.com/2025/03/04/使用sortablejs-antdv进行拖到排序/
作者
梦落
发布于
2025年3月4日
许可协议