极乐门资源网 Design By www.ioogu.com
拖拽排序列表
思路
界面分为两层:
- 底层,正常列表展示,拖拽的时候不做处理(大牛直接加了动画,原谅我技艺不精,还没实现)
- 顶层,movable-view组件,不长按不展示,之后长按才展示,且没有点击事件。
事件
主要监听:longpress
, touchmove
, touchend
三个事件
longpress
保障长按才有效,并设定许多其他值。
touchmove
滑动的时候触发
- 判断是否需要滑动页面,因为
movable-area
组件 滑动事件被catch掉,无法滑动; - 记录滑动经过的项,在页面【底层】设置经过项为其他样式(算是补足没有滑动动画的缺陷吧,不需要可以删除
lastTarget
字段)。
touchend
滑动结束时触发
获取目标节点索引,将初始拖拽节点移动至目标节点,其中的关键代码为:
list.splice(futureIndex, 0, list.splice(dragElementIndex, 1)[0]); // 移动位置
(这行代码参考了Vue.Draggable中一行代码)
将其他设置置空
代码
代码片段
码云仓库 欢迎star、提问题。鞋鞋
示例
// 初始点击 stratBtn(e){ let index = http.dataIndex(e)[0];//获取当前点击的列表 let busArr = this.data.busArr;//获取列表中的所有数组 let pageY = Number(e.touches[0].pageY);//初始点击的Y点坐标 let busActObj = busArr[index];//单独记录当前点击的数据 this.setData({ //保存数据 sPageY:pageY, mPageY:pageY, moveSortBox:true, clickIndex:index, busActObj:busActObj }) }, // 开始移动 moveBtn(e){ let pageY = Number(e.touches[0].pageY); //记录移动点的坐标 this.setData({ //记录 mPageY:pageY, moveSortBox:true, }) }, // 结束点击 endBtn(e){ let sPageY = Number(this.data.sPageY); //获取初始点的坐标 let busArr = this.data.busArr; //获取数组 let pageY = Number(e.changedTouches[0].pageY);//获取结束点的坐标 let clickIndex = Number(this.data.clickIndex); //初始点的位置 let busActObj = this.data.busActObj;//获取初始点的列表单独数据 let position = parseInt((pageY-sPageY)/90)+(clickIndex+1); //每个盒子固定高度90px (结束点-初始点/盒子高度)+(初始点的位置+1)可以得到移动的位置 busArr.splice(clickIndex,1);//删除初始数据 busArr.splice(position,0,busActObj);//在移动点重新插入数据 this.setData({//保存 moveSortBox:false, busArr:busArr }) },
参考链接
[1] SortableJS Vue.Draggable
[2] SortableJS Sortable
[3] SortableJS演示示例 Vue.Draggable
[4] 好想再胖十斤 25行代码解决小程序的拖拽排序
极乐门资源网 Design By www.ioogu.com
极乐门资源网
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
极乐门资源网 Design By www.ioogu.com
暂无微信小程序拖拽排序列表的示例代码的评论...
更新日志
2024年11月15日
2024年11月15日
- 欧倩怡.2001-Cindy(EP)【华星】【WAV+CUE】
- P1X3L《P1X3L》[FLAC/分轨][791.28MB]
- 茵达INDAHKUS《茵 the Blue》[320K/MP3][33.49MB]
- 茵达INDAHKUS《茵 the Blue》[FLAC/分轨][147.57MB]
- 老虎鱼AnneClarkwithUllavanDaelenJustinCiuche-Borderland-HiRes-Files24bit88.2kHz
- 江玲2004-百合盛开2CD[歌林][WAV+CUE]
- 孙露《怕什么孤单3CD》深圳音像[WAV分轨]
- s14全球总决赛目前是什么结果 s14全球总决赛赛程结果图一览
- s2TPA夺冠五人名单都有谁 tpa战队s2夺冠队员名单一览
- s13wbg战队成员都有谁 wbg战队s13成员名单一览
- 网友热议《幻兽帕鲁》停售、赔千万日元:那也赚麻了 不亏
- 这谁顶得住 《最终幻想7:重生》尤菲3D作品穿上终极芙蕾娜衣服
- 外媒称PS5pro违背承诺:《蜘蛛侠2》根本没法4K60帧
- 群星.2007-中文十大金曲30周年纪念专辑【RTHK】【WAV+CUE】
- 杨林.1989-留一点爱来爱自己【综一唱片】【WAV+CUE】