<template>
<div>
<div
class="draggable-item"
draggable="true"
@dragstart="handleDragStart"
@dragend="handleDragEnd"
>
拖拽我
</div>
<div
class="drop-zone"
@dragover.prevent
@drop="handleDrop"
>
放在这里
</div>
</div>
</template>
<script>
export default {
methods: {
handleDragStart(event) {
event.dataTransfer.setData('text/plain', '拖拽元素');
console.log('开始拖拽');
},
handleDragEnd() {
console.log('结束拖拽');
},
handleDrop(event) {
const data = event.dataTransfer.getData('text/plain');
console.log('已放置:', data);
}
}
};
</script>
<style>
.draggable-item {
width: 100px;
height: 100px;
background-color: lightblue;
text-align: center;
line-height: 100px;
}
.drop-zone {
width: 200px;
height: 200px;
background-color: lightcoral;
margin-top: 20px;
text-align: center;
line-height: 200px;
}
</style>
模板部分 (<template>):
div 元素:一个是可以拖拽的元素(draggable-item),另一个是放置区域(drop-zone)。draggable="true" 属性使元素可以被拖拽。@dragstart、@dragend 和 @drop 事件监听器来处理拖拽和放置操作。脚本部分 (<script>):
handleDragStart: 当开始拖拽时触发,设置拖拽数据。handleDragEnd: 当结束拖拽时触发,通常用于清理或重置状态。handleDrop: 当元素被放置到目标区域时触发,获取并处理拖拽的数据。样式部分 (<style>):
上一篇:vue字符串转number
下一篇:vue 使用svg
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站