您好,登錄后才能下訂單哦!
本篇內容主要講解“vue項目中如何使用vuedraggable”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“vue項目中如何使用vuedraggable”吧!
由于vue3已經是默認版本了,所以vuedraggable也對應vue2.0和3.0有各自的版本,直接使用基本命令安裝:
npm install vuedraggable --save
會默認安裝2.1左右的版本,由于我的項目是vue3構建的,所以會報錯:
就是draggable版本不對,導致錯誤,版本換位4.1.0的就解決了
npm i vuedraggable@4.1.0 --save 或 yarn add vuedraggable@4.1.0
在官網里專門對vue版本的不同做了對應的解釋,在vue2中,
<draggable v-model="myArray" group="people" @start="drag=true" @end="drag=false"> <div v-for="element in myArray" :key="element.id">{{element.name}}</div> </draggable>
//.vue file: import draggable from 'vuedraggable' ... export default { components: { draggable, }, ...
With transition-group
:
<draggable v-model="myArray"> <transition-group> <div v-for="element in myArray" :key="element.id"> {{element.name}} </div> </transition-group> </draggable>
而在vue3中,這樣寫是有問題的,官網提示:
Breaking changes:
Use item slot instead of default to display elements#使用項目槽而不是默認值來顯示元素Provide a key for items using itemKey props#使用itemKey道具為物品提供密鑰
變動確實挺大的,寫法如下:
From:
<!-- vue 2 version --> <draggable v-model="myArray"> <div v-for="element in myArray" :key="element.id">{{element.name}}</div> </draggable>
To:
<draggable v-model="myArray" item-key="id"> <template #item="{element}"> <div>{{element.name}}</div> </template> </draggable>
當使用transition時,現在應該使用tag和componentData來創建transition
From
<!-- vue 2 version --> <draggable v-model="myArray"> <transition-group name="fade"> <div v-for="element in myArray" :key="element.id"> {{element.name}} </div> </transition-group> </draggable>
to
<draggable v-model="myArray" tag="transition-group" :component-data="{name:'fade'}"> <template #item="{element}"> <div>{{element.name}}</div> </template> </draggable>
注:在進行clone時,vue2.x版本Draggable 組件中的配置項寫法(:options="{group:{name: 'article',pull:'clone'}, sort: false}")
在vue3中不起效,
vue3中需要將里面的參數單獨進行配置,如::group="{name: 'article',pull:'clone'}" :sort='false'
等。
到此,相信大家對“vue項目中如何使用vuedraggable”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。