实现效果:
原列表:
拖拽后列表:
实现过程:
1.引入
npm i -S vuedraggable
2. 页面
<template>
<div>
<vuedraggable class="wrapper" v-model="list">
<transition-group>
<div v-for="item in list" :key="item.projectid" class="item">
<p>{{item.name}}</p>
</div>
</transition-group>
</vuedraggable>
</div>
</template>
<script>
import vuedraggable from "vuedraggable";
export default {
components: { vuedraggable },
props: {},
data() {
return {
list: [
{
name: "体型",
projectid: 1,
},
{
name: "屈臂悬垂",
projectid: 2,
},
{
name: "引体向上",
projectid: 3,
},
],
};
},
updated() {
console.log(this.list);
},
页面引入组件,使用组件即可;
如果是简单拖拽,使用html5的draggable;
如果是复杂的数据驱动,使用vuedraggable;