已解决
element plus table 拖拽
来自网友在路上 162862提问 提问时间:2023-09-27 10:43:34阅读次数: 62
最佳答案 问答题库628位专家为你答疑解惑
element plus table 拖拽
sortablejs
package.json
"sortable.js": "^0.3.0","sortablejs": "^1.14.0",
"vuedraggable": "^2.24.3",
我的table 是在 el-dialog 里面的
在开发过程中出现过两个问题
1.进入加载 数据错乱
2.拖拽后 顺序错误
先贴代码
<template><div><a @click="openDialog">购买套餐</a><el-dialog v-model="dialogVisible"><el-tableref="sortableTable":data="sortedAppList"style="width: 100%"@selection-change="handleSelectionChange"><el-table-column prop="id" label="序号" width="80"></el-table-column><el-table-column prop="title" label="名称"></el-table-column><el-table-column prop="describe" label="描述"></el-table-column></el-table></el-dialog></div>
</template><script setup>
import { ref, nextTick } from 'vue'
import Sortable from 'sortablejs'const dialogVisible = ref(false)
const sortedAppList = ref([{ id: 1, title: '汉堡1', describe: '描述' },{ id: 2, title: '汉堡2', describe: '描述' },{ id: 3, title: '汉堡3', describe: '描述' },{ id: 4, title: '汉堡4', describe: '描述' },{ id: 5, title: '汉堡5', describe: '描述' },{ id: 6, title: '汉堡6', describe: '描述' }
])
const sortableTable = ref('')
const applite = ref([])
const changeOpenList = () => {// 异步获取数据setTimeout(() => {// 拖拽排序初始化const tableEl = sortableTable.value.$el.querySelector('.el-table__body-wrapper tbody')if (tableEl) {sortableTable.value.sortable = new Sortable(tableEl, {animation: 150,onEnd: (event) => {applite.value = sortedAppList.valueconst movedItem = applite.value[event.oldIndex]applite.value.splice(event.oldIndex, 1)applite.value.splice(event.newIndex, 0, movedItem) // 使用插入而不是替换的方式sortedAppList.value = []nextTick(() => {sortedAppList.value = applite.value // 更新最终的排序后数据})}})}}, 1000)
}const handleSelectionChange = (selection) => {// 处理选择变化console.log(selection)
}const openDialog = () => {dialogVisible.value = truechangeOpenList()
}
</script>
查看全文
99%的人还看了
相似问题
- Android 13.0 Launcher3仿ios长按app图标实现抖动动画开始拖拽停止动画
- ElementUI-tree拖拽功能与节点自定义
- 案例 - 拖拽上传文件,生成缩略图
- react使用react-sortable-hoc实现拖拽
- vue3+element Plus实现弹框的拖拽、可点击底层页面功能
- 【UE】从UI中拖拽生成物体
- 项目中拖拽元素,可以使用html的draggable属性,当然也可以用第三方插件interact
- vmware17.0|ubuntu22.04.0 解决灰色Vmware Tool 无法重新安装和 无法和win11相互拖拽文件问题
- Android View拖拽/拖放DragAndDrop自定义View.DragShadowBuilder,Kotlin(2)
- vue3 elementPlus 表格实现行列拖拽及列检索功能
猜你感兴趣
版权申明
本文"element plus table 拖拽":http://eshow365.cn/6-14611-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: ARM IIC总线实现温湿传感器
- 下一篇: js实现数组去重方式(12种方法)