元素添加 :draggable="true"
@dragend="dragend($event, index)" //拖动结束触发事件
@dragenter="dragenter($event, index)" //拖动进入元素触发事件
@dragover="dragover($event, index)"//拖动覆盖元素松开触发事件
@dragstart="dragstart(index)" //拖动开始触发事件
<div style="width: 140px;float: left;line-height: 33px;height: 33px;margin-right: 8px;" v-for="(item,index) in exportcheckedKeyss"
@dragend="dragend($event, index)" @dragenter="dragenter($event, index)" @dragover="dragover($event, index)"
@dragstart="dragstart(index)" :draggable="true" id=""
>
{{index+1}}.{{item.text}}
</div>
事件方法
dragend(e,index){
console.log(index);
// 避免源对象触发自身的dragenter事件
if (this.dragIndex !== index) {
console.log(this.exportcheckedKeyss);
let start = this.exportcheckedKeyss[index]
let now = this.exportcheckedKeyss[this.dragIndex]
this.exportcheckedKeyss.splice(this.dragIndex,1,start)
this.exportcheckedKeyss.splice(index,1,now)
console.log(this.exportcheckedKeyss);
}
console.log("我结束了");
},
dragstart(index) {
console.log(index);
},
dragenter(e, index) {
e.preventDefault();
this.dragIndex = index;
},
dragover(e, index) {
console.log(index);
e.preventDefault();
},
- THE END -
最后修改:2022年7月28日
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.95app.top/vue-%e6%8b%96%e5%8a%a8%e4%ba%8b%e4%bb%b6/