uni-app拖拽排序核心是touchstart+touchmove监听→计算目标索引→splice交换数组项;需用getBoundingClientRect、禁用scroll-view滚动、统一坐标转换、节流hover检测并清理拖拽状态。uni-app 中用 touchstart + touchmove 实现拖拽排序的底层逻辑uni-app 没有原生 Drag and Drop API 支持(尤其在小程序端),必须靠手动监听触摸事件 + 动态更新列表顺序来模拟。核心不是"拖动元素",而是"记录手指位移 → 找出目标索引 → 交换数组项"。常见错误现象:touchmove 触发太频繁导致卡顿、拖拽中列表项闪跳、松手后顺序没变、跨平台(H5/小程序)坐标计算不一致。始终用 event.touches0 取坐标,别用 changedTouches(小程序里可能为空)计算目标位置时,别直接比对元素 top 值,改用 getBoundingClientRect() 动态获取(H5 和小程序都支持)交换数组项必须用 splice + splice,不能只改 index 属性------Vue 的响应式依赖数组索引拖拽过程中禁用 scroll-view 滚动(加 scroll-y="false"),否则 iOS 小程序会抢 touch 事件uni-app 列表拖拽排序的最小可运行结构关键不是写多复杂,是把「拖拽源」「占位空隙」「目标插入点」三者关系理清。一个 item 被拖起后,原位置要留空,其他项自动上移/下移,松手时插入到最新 hover 位置。使用场景:后台管理的菜单排序、用户自定义仪表盘格子、问卷题序调整。 RedClaw 百度推出的手机端万能AI Agent助手
相关推荐
yi0112 分钟前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”Marst Code1 小时前
上位机开发日记 · 第 2 篇 · 架构先行:六层分层与边界倔强的石头_2 小时前
聊聊金仓KFS:一款把数据同步软件做扎实的产品闲云野鹤在人间2 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解禾小西2 小时前
Redis:从两大维度和三大主线建立知识体系李日华大战鸡红2 小时前
FOC状态空间方程模型推导(学习记录)禾小西3 小时前
Redis 数据结构:快速的 Redis 有哪些慢操作?数据库小学妹3 小时前
数据共享交换平台选型:交换方式对比与避坑指南外收内放4 小时前
Python基础语法练习题(57-58)朝朝辞暮i5 小时前
VLA 系统学习第 3 课:从一次机器人示范,到真正送进神经网络的 Batch