1.引入vuedraggable
2.vuedraggable標(biāo)簽內(nèi)部套用遞歸組件呆瞻,一般用于tree拖拽间雀,數(shù)據(jù)結(jié)構(gòu)為id pid形式
3.配置:
dragOptions:?{
????????animation:?200,? ? --------------- 動(dòng)畫
????????group:?{
??????????name:?'g1'
????????},
????????sort:?true,
????????disabled:?false,
????????ghostClass:?'ghost',
????????handle:?'.mover'? ?-----------------? 拖拽對(duì)象類名
??????}昆箕,
chapters: []辕羽,? ? ? ? ? ? ? ? ? ?--------------------------? ?可拖拽的數(shù)據(jù)對(duì)象
draggable: true -----------------------------------------是否可拖拽
4.方法:
datadragEnd() {
? ? // 如何處理數(shù)據(jù)
},
:move="moveMenu",用來校驗(yàn)拖拽的節(jié)點(diǎn)數(shù)據(jù)校驗(yàn)的
menuMove(data,?res) {
? ??????const?element?=?data.draggedContext.element? // 被拖拽的節(jié)點(diǎn)對(duì)象數(shù)據(jù),傳入數(shù)據(jù)的一條item
????????const?relatedEl?=?data.relatedContext.element ?//? 拖拽的相鄰節(jié)點(diǎn)對(duì)象數(shù)據(jù)吨些,可用于判斷搓谆,我拖到哪個(gè)元素前后了
????????const?moveType?=?res.type ?//? 拖拽方式(dragover/dragenter)
}
5.可能會(huì)存在一些拖拽校驗(yàn),可用:move來限制豪墅,但是有時(shí)候復(fù)雜的業(yè)務(wù)很難通過拖拽時(shí)做校驗(yàn)泉手,這時(shí)候我們可以在datadragEnd這個(gè)函數(shù)里面做校驗(yàn)性的業(yè)務(wù)區(qū)分,直接彈窗報(bào)錯(cuò)提示偶器,禁止拖拽斩萌。