sortablejs + vue2 + ElementUi 实现拖拽排序
在Vue 2和Element UI中使用Sortablejs实现表格行的拖拽排序,你可以遵循以下步骤:
- 安装Sortablejs:
npm install sortablejs --save
- 在Vue组件中引入Sortablejs并使用:
import Sortable from 'sortablejs';
export default {
data() {
return {
tableData: [
// ... 填充你的数据
]
};
},
mounted() {
this.createSortable();
},
methods: {
createSortable() {
const el = document.querySelector('.el-table__body-wrapper tbody');
const self = this;
Sortable.create(el, {
onEnd({ newIndex, oldIndex }) {
const targetRow = self.tableData.splice(oldIndex, 1)[0];
self.tableData.splice(newIndex, 0, targetRow);
}
});
}
}
};
- 在模板中使用Element UI的
el-table
组件并确保你的表格行有唯一的key:
<template>
<el-table :data="tableData" row-key="id">
<!-- 你的表格列 -->
</el-table>
</template>
确保你的表格行有唯一的key,这样Sortablejs才能正确地识别每一行。上述代码中的row-key="id"
假设你的数据项中有一个唯一的"id"字段。
请注意,这只是一个基本的实现,你可能需要根据自己的需求进行相应的调整。
评论已关闭