vue拖拽排序插件vuedraggable

首先在vue项目中,用npm包下载下来

npm install vuedraggable -S

下载下来后,引入插件,在你的vue文件的script标签里面这样引入

import draggable from 'vuedraggable'

注册组件

components: { draggable },

在template标签里面使用

<draggable v-model="myArray" @update="datadragEnd" class="drag" :options="{animation:500}">

<transition-group>

<div v-for="element in myArray" :key="element.id">{{element.name}}</div>

</transition-group>

</draggable>

js代码:

data() {return {

myArray: [

{ name: '一', id: 1 },

{ name: '二', id: 2 },

{ name: '三', id: 3 },

{ name: '四', id: 4 },

{ name: '五', id: 5 },

{ name: '六', id: 6 },

{ name: '七', id: 7 },

{ name: '八', id: 8 },

{ name: '九', id: 9 },

{ name: '十', id: 10 }

]

}

}

mounted() {

getdata (evt) {

console.log(evt.draggedContext.element.text)

},

datadragEnd (evt) {

evt.preventDefault();

console.log('拖动前的索引 :' + evt.oldIndex)

console.log('拖动后的索引 :' + evt.newIndex)

console.log(this.myArray);

}

},

mounted () {
//为了防止火狐浏览器拖拽的时候以新标签打开,此代码真实有效
document.body.ondrop = function (event) {
event.preventDefault();
event.stopPropagation();
}
}

css代码:

.drag {

width: 300px;

background: #42b983;

}

.drag span {

display: flex;

flex-wrap: wrap;

}

.drag div {

font-size: 20px;

padding: 20px;

margin: 2px;

border: 2px dashed red;

}

完成

参考:

https://github.com/SortableJS/Vue.Draggable

https://github.com/SortableJS/Sortable

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值