Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

vue3 vuedraggable

作者:此岸蝶恋花   发布日期:2025-02-22   浏览:157

<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>

解释说明

  1. 模板部分 (<template>):

    • 使用 draggable 组件包裹需要拖拽的元素。
    • v-model 绑定到 items 数组,以实现双向绑定。
    • @end 事件监听拖拽结束事件,并调用 onEnd 方法。
    • transition-group 用于添加过渡效果。
  2. 脚本部分 (<script>):

    • 引入 refdraggable 组件。
    • 定义 items 数组,包含一些示例数据。
    • 定义 onEnd 方法,在拖拽结束时触发,并打印事件信息。
  3. 样式部分 (<style scoped>):

    • 简单的样式定义,使每个拖拽项有一定的间距和背景颜色。

上一篇:vue clipboard

下一篇:antd vue3

大家都在看

vue.config.js configu

node.js vue

vue查看版本

vue等待几秒

vue3 setup computed

vue screenfull

vue json.stringify

vue 遍历list

typescript vue

vue 复选框

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站