<template>
<div>
<h1>Vue3 vuedraggable 示例</h1>
<draggable v-model="items" @end="onEnd">
<transition-group>
<div v-for="(item, index) in items" :key="item.id" class="item">
{{ item.name }} ({{ index }})
</div>
</transition-group>
</draggable>
</div>
</template>
<script>
import { ref } from 'vue';
import draggable from 'vuedraggable';
export default {
components: {
draggable,
},
setup() {
const items = ref([
{ id: 1, name: 'Item 1' },
{ id: 2, name: 'Item 2' },
{ id: 3, name: 'Item 3' },
{ id: 4, name: 'Item 4' },
]);
const onEnd = (event) => {
console.log('拖拽结束:', event);
};
return {
items,
onEnd,
};
},
};
</script>
<style scoped>
.item {
background-color: #f0f0f0;
margin: 5px;
padding: 10px;
border: 1px solid #ccc;
}
</style>
模板部分 (<template>):
draggable 组件包裹需要拖拽的元素。v-model 绑定到 items 数组,以实现双向绑定。@end 事件监听拖拽结束事件,并调用 onEnd 方法。transition-group 用于添加过渡效果。脚本部分 (<script>):
ref 和 draggable 组件。items 数组,包含一些示例数据。onEnd 方法,在拖拽结束时触发,并打印事件信息。样式部分 (<style scoped>):
上一篇:vue clipboard
下一篇:antd vue3
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站