vue draggable組件實現拖拽及點擊無效問題的解決
在實現一個移動端項目的時候,根據產品需求,要實現一個既能增加刪除又可以拖拽調換位置的效果,然後我使用瞭draggable組件,然後發現放到手機上的時候蘋果(ios)手機可以正常使用,但是鴻蒙系統的手機(例如華為pro40)有些是不可以正常拖拽、增加和刪除,隻能一開始正常操作兩三個,然後後面就怎麼點都沒有什麼反應。通過多次嘗試和查找方法,最終找到瞭解決辦法,我在這裡總結一下。
一、效果圖
二、拖拽及點擊無效解決方法
隻需要在設置handle屬性就可以瞭,vuedraggable的文檔中有說明 options 配置項已經不在使用,所以我們直接將handle單獨拿出來使用即可,像這樣:handle="'.defaultTypeTag'"
,.defaultTypeTag
是要拖拽的塊的類名,要註意的是需要做點擊事件的項不能包含在這個類名裡面,不然會無法觸發點擊事件。
三、vuedraggable的使用
這裡隻貼出html代碼,js相關代碼邏輯直接根據需求處理即可。
1、安裝和引入使用
// 安裝 npm install vuedraggable // 引入使用 import draggable from 'vuedraggable'
2、對應的html代碼
<draggable class="list-group list-group-default" tag="ul" v-model="removetTypeList" :handle="'.defaultTypeTag'" v-bind="dragOptions" @start="isDragging = true" @update="updateDefaultTypeList" @end="isDragging = false" > <transition-group type="transition" name="flip-list"> <li v-for="(v,i) in removetTypeList" :key="i"> <div class="defaultTypeTag"> <img :src="v.icon" alt="" class="img"> <p class="p">{{v.classifyName.substring(0,5)}}<span v-if="v.classifyName.length>5">...</span></p> </div> <i class="removeTypeList" @click.stop.prevent="handRemoveTypeChange(v,i)"></i> </li> </transition-group> </draggable>
到此這篇關於vue draggable組件實現拖拽及點擊無效問題的解決的文章就介紹到這瞭,更多相關vue draggable拖拽無效內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 詳解vue項目中使用vuedraggable
- Vue實用功能之實現拖拽元素、列表拖拽排序
- VUE中如何實現阻止事件冒泡
- 手寫可拖動穿梭框組件CustormTransfer vue實現示例
- Vue中實現過渡動畫效果示例代碼