vue3拖拽组件vuedraggable

页面布局部分:

<template>
    <h1>切换上位置</h1>
    <div class="drag-box">
        <Draggable :list="list" :animation="100" class="list-group" :forceFallback="true" chosen-class="chosenClass"
            group="componentsGroup">
            <template #item="{ element }">
                <div class="items">
                    <div class="title">{
  { element.label }}</div>
                    <img :src=element.img height="100" alt="111">
                </div>
            </template>
        </Draggable>
    </div>
    <h1>切换下位置111</h1>
    <div class="drag-box">
        <Draggable :list="cloneList" :animation="100" class="list-group" :forceFallback="true" chosen-class="chosenClass"
            group="componentsGroup">
            <template #item="{ element }">
                <div class="items">
                    <div class="title">{
  { element.label }}</div>
                    <img :src=element.img height="100" alt="111">
                </div>
            </template>
        </Draggable>
    </div>
</template>

 图片及模块引入部分:

<script setup>
import { reactive } from "vue";
// 引入vuedraggable拖拽组件
import Draggable from "vuedraggable";
// 引入图片
import img1 from '@/assets/images/img1.jpg'
import img2 from '@/assets/images/img2.jpg'
import img3 from '@/assets/images/img3.jpg'
import img4 from '@/assets/images/img4.jpg'
import img5 from '@/assets/images/img5.jpg'

const list = reactive([
    {
        img: img1,
        label: "图片1",
        id: 1,
    },
    {
        img: img2,
        label: "图片2",
        id: 2,
    },
    {
        img: img3,
        label: "图片3",
        id: 3,
    },
    {
        img: img4,
        label: "图片4",
        id: 4,
    },
    {
        img: img5,
        label: "图片5",
        id: 5,
    },
]);
// 拉取存放位置的数组
const cloneList = reactive([]);
</script>

样式部分: 

<style lang="less" scoped>
.drag-box .items {
    display: flex;
    justify-content: space-between;
    width: 30%;
    padding: 20px;
    margin-bottom: 20px;
    background: #e3e3e3;
    border-radius: 8px;
    text-align: center;
}

.chosenClass {
    border: 3px solid red !important;
}
</style>

效果展示:

vuedraggable拖拽

相关推荐

  1. vue3组件vuedraggable

    2023-12-16 14:06:03       47 阅读
  2. Vue——vue3库Sortablejs

    2023-12-16 14:06:03       39 阅读
  3. Vue3封装可的弹窗

    2023-12-16 14:06:03       36 阅读

最近更新

  1. stm32使用单通道规则组ADC

    2023-12-16 14:06:03       0 阅读
  2. HTML 学习指南:从入门到精通

    2023-12-16 14:06:03       0 阅读
  3. 经导管二尖瓣修复系统市场全面解析与未来展望

    2023-12-16 14:06:03       0 阅读
  4. 大众点评商家电话采集软件分享 解析爬虫工具

    2023-12-16 14:06:03       1 阅读
  5. Python 使用正则提取字符串

    2023-12-16 14:06:03       1 阅读
  6. 专业课笔记——(第十二章:文件的读写)

    2023-12-16 14:06:03       1 阅读
  7. lvs集群

    2023-12-16 14:06:03       1 阅读

热门阅读

  1. QT之QMessageBox的用法

    2023-12-16 14:06:03       32 阅读
  2. 大语言模型--引言

    2023-12-16 14:06:03       31 阅读
  3. Clion下编写QT界面方法详解

    2023-12-16 14:06:03       39 阅读
  4. Storm+Kafka+Redis+zookeeper docker集群实战问题与解决

    2023-12-16 14:06:03       28 阅读
  5. 使用boost::mpl模块实现push_back相关的测试程序

    2023-12-16 14:06:03       45 阅读
  6. vue 浙里办前端改造,引入jquery脚本文件并使用

    2023-12-16 14:06:03       42 阅读
  7. 图像恢复:图像去模糊算法

    2023-12-16 14:06:03       38 阅读