<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 中文站