uni-app 拖拽排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uni-app 拖拽排序相关的知识,希望对你有一定的参考价值。
参考技术A 这周做一个页面时,有一个人物排序,可以手动拖动更改排序位置的功能。在经过查找之后,找到了sortable.js ,它可以用来实现这个拖拽的功能。
在查看 sortable.js 官方文档时,看到里面中有一个 onUpdate 事件,拖拽改变位置后,其中的返回值中,就有着起始index值和改变后的index值,通过这个,就可以更改数组的内容,来达到拖拽后改变位置的功能。
这里获取的节点是需要拖拽列表的父节点
因为在做的过程中,发现如果用操作dom节点的位置去修改item的顺序时,会产生bug,所以经过查找资料,终于在 Vue中使用Sortable 找到了问题所在,因此在修改item顺序前,应先修改其对于的节点。
先删除移动的节点,在将移动的节点插入到原有的节点中
注意:因为当从下向上拖动时,节点会增加一个,所以原有的索引值会少一位,所在当 newIndex < oldIndex 时,因使用 oldLi 节点的下一个节点
删除原有数组,并且存储数据
将数据添加到停留的数组索引值上
以上是关于uni-app 拖拽排序的主要内容,如果未能解决你的问题,请参考以下文章