sortablejs 两个列表相互拖拽
时间: 2023-11-30 16:02:29 浏览: 159
sortablejs是一个用于实现拖拽排序功能的JavaScript库。通过结合sortablejs和antdesign-vue,可以实现两个列表相互拖拽排序的效果。具体实现方法如下:
1. 首先,在Vue组件中引入sortablejs库,并在methods中定义initSortable方法。
2. 在initSortable方法中,使用querySelector获取到需要实现拖拽排序的列表元素,然后使用Sortable.create方法创建一个Sortable实例。
3. 在Sortable.create方法的配置选项中,设置handle为'.ant-table-row',表示只有带有.ant-table-row类的元素才能进行拖拽操作。
4. 可以根据实际需求,在onUpdate、onStart、onAdd、onRemove等回调函数中编写相应的逻辑代码,来处理拖拽过程中的更新操作。
5. 通过调用initSortable方法,对需要实现拖拽排序的列表进行初始化。
以下是一个示例代码:
```javascript
import Sortable from 'sortablejs'
export default {
methods: {
initSortable() {
var that = this
var el = this.$el.querySelector('.sort-table tbody')
Sortable.create(el, {
handle: '.ant-table-row',
animation: 150,
group: {
name: 'name',
pull: true,
put: true
},
onUpdate: function (evt) {
// 拖拽更新回调函数的逻辑代码
},
onStart: function (evt) {
// 开始拖拽回调函数的逻辑代码
},
onAdd: function (evt) {
// 添加元素回调函数的逻辑代码
},
onRemove: function (evt) {
// 移除元素回调函数的逻辑代码
}
})
}
}
}
```
阅读全文