el-table(Sortable)简单实现拖动排序(亲测有效)
1、template组件,这里需要注意2点,ref="dragTable"和row-key="id"
<template>
<el-table :data="list" ref="dragTable" highlight-current-row row-key="id">
<el-table-column label="id" width="60" prop="id"></el-table-column>
<el-table-column label="name" prop="name"></el-table-column>
<el-table-column label="school" prop="school"></el-table-column>
<el-table-column label="age" prop="age"></el-table-column>
<el-table-column label="sex" prop="sex"></el-table-column>
</el-table>
</template>
2、script可以之间复制使用
import Sortable from "sortablejs";
export default {
data() {
return {
list: [
{ id: 1, name: "张富贵", school: "西瓜南大学", age: "22", sex: "不知", sort:1 },
{ id: 2, name: "李德华", school: "西瓜南大学", age: "22", sex: "不知", sort:2 },
{ id: 3, name: "董小明", school: "西瓜南大学", age: "22", sex: "不知", sort:3 }
],
oldId: "",
newsId: ""
};
},
mounted() {
this.setSort();
},
methods: {
setSort() {
const el = this.$refs.dragTable.$el.querySelectorAll(
".el-table__body-wrapper > table > tbody"
)[0];
this.sortable = Sortable.create(el, {
ghostClass: "sortable-ghost",
setData: function(dataTransfer) {
dataTransfer.setData("Text", "");
},
onEnd: evt => {
const targetRow = this.list.splice(evt.oldIndex, 1)[0];
this.list.splice(evt.newIndex, 0, targetRow);
console.log("原来位置", targetRow.sort);
console.log("现在位置", evt.newIndex + 1); //这是当前页面位置,如果是分页需要自己改一下
}
});
}
}
};
以上是编程学习网小编为您介绍的“el-table(Sortable)简单实现拖动排序(亲测有效)”的全面内容,想了解更多关于 vuejs 内容,请继续关注编程基础学习网。
织梦狗教程
本文标题为:el-table(Sortable)简单实现拖动排序(亲测有效)


基础教程推荐
猜你喜欢
- 基于React路由跳转的几种方式 2024-03-09
- 带参数的function 的自运行效果代码 2023-12-21
- JavaScrip String对象的方法 2023-08-08
- 纯HTML5+CSS3制作生日蛋糕代码 2023-12-29
- js实现页面跳转的五种方法推荐 2023-12-19
- css3与html5实现响应式导航菜单(导航栏)效果分享 2023-12-28
- uni-app配置APP自定义顶部标题栏设置方法与注意事 2022-08-30
- 表格列表偶数列、奇数列的CSS样式示例 2023-12-28
- 无限分级和tree结构数据增删改【附DEMO下载】 2022-12-28
- 深入理解JavaScript系列(31):设计模式之代理模式详解 2023-12-19