vue實現(xiàn)列表拖拽排序的示例代碼
更新時間:2022年04月08日 09:18:00 作者:最愛松露巧克力
本文主要介紹了vue實現(xiàn)列表拖拽排序的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
本文主要介紹了vue實現(xiàn)列表拖拽排序的示例代碼,具體如下:
<template> <div class="test_wrapper" @dragover="dragover($event)"> <transition-group class="transition-wrapper" name="sort"> <div v-for="(item) in dataList" :key='item.id' class="sort-item" :draggable="true" @dragstart="dragstart(item)" @dragenter="dragenter(item,$event)" @dragend="dragend(item,$event)" @dragover="dragover($event)" > {{ item.label }} </div> </transition-group> </div> </template> <script lang="ts"> import {Vue, Component, Prop, Watch} from "vue-property-decorator"; import { addWebsite } from '@/api' @Component({ components: {} }) export default class Test extends Vue { oldData: any = null; // 開始排序時按住的舊數(shù)據(jù) newData: any = null; // 拖拽過程的數(shù)據(jù) // 列表數(shù)據(jù) dataList:any = [ { id:1,label:'測試一號' }, { id:2,label:'測試二號' }, { id:3,label:'測試三號' }, { id:4,label:'測試四號' }, ]; dragstart(value: any) { this.oldData = value } // 記錄移動過程中信息 dragenter(value: any, e: any) { this.newData = value e.preventDefault() } // 拖拽最終操作 dragend(value: any, e: any) { if (this.oldData !== this.newData) { let oldIndex = this.dataList.indexOf(this.oldData) let newIndex = this.dataList.indexOf(this.newData) let newItems = [...this.dataList] // 刪除老的節(jié)點 newItems.splice(oldIndex, 1) // 在列表中目標(biāo)位置增加新的節(jié)點 newItems.splice(newIndex, 0, this.oldData) this.dataList = [...newItems] } } // 拖動事件(主要是為了拖動時鼠標(biāo)光標(biāo)不變?yōu)榻梗? dragover(e: any) { e.preventDefault() } }; </script> <style> .sort-move { transition: transform 0.3s; } </style>
到此這篇關(guān)于vue實現(xiàn)列表拖拽排序的示例代碼的文章就介紹到這了,更多相關(guān)vue 列表拖拽排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
elementUI表格多選框this.$refs.xxx.toggleRowSelection無效問題
這篇文章主要介紹了elementUI表格多選框this.$refs.xxx.toggleRowSelection無效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11想到頭禿也想不到的Vue3復(fù)用組件還可以這么hack的用法
這篇文章主要為大家介紹了想到頭禿也想不到的Vue3復(fù)用組件還可以這么hack的用法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04