关于vue的draggable拖拽插件滚动后拖拽会出现影子与鼠标位置不同的问题
我遇到这个问题,满怀激动的在网上找资料,竟然如同全世界就我遇到这个问题一样,好吧,hhh
解决办法如下
问题产生:forceFallback=“true”,是这个属性设置的问题,这一步相当于不使用h5原生拖拽,h5拖拽是方便,但是呢,拖拽的影子改不了透明度是硬伤。设置之后,就会滚动后影子与鼠标位置偏离,你越往下滚动呢,这个偏离位置越大,我并不知道怎么取拿影子,所以一直在网上找资料,然后啥也没找到就是了.
通过配置@start=“dragBug”,然后通过这个事件拿到,那个影子,hhh,
<draggable
v-model="list"
chosen-class="chosen"
class="list-content-drag"
:forceFallback="true"
ghostClass="ghost"
@start="dragBug"
animation="300"
handle=".theme-item-icon" >
</draggable>
dragBug (evt) {
// this.$nextTick(() => {
var e = evt || window.event;
var chosen = document.querySelector('.sortable-fallback');
chosen.style.top = e.item.offsetTop + 'px';
// });
},
然后就解决了,以此记录一下解决方案,以免哪一天忘了,然后找不到方法
关于这个插件比较全面的介绍的文章: Vue 实现拖拽排序 vuedraggable插件