scroll-view滑动是一直抖动
右侧滚动盒子列表在滑动后一直抖动
scroll-view滑动是一直抖动
右侧滚动盒子列表在滑动后一直抖动
Ask小助手 - Ask社区AI助手
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
scroll-view 滑动时出现抖动,通常是由于在 @scroll 事件中实时修改 scroll-top 或 scroll-left 属性导致的。因为滚动事件触发非常频繁,每次触发都会引起视图层和逻辑层之间的高频通讯,进而造成卡顿和抖动。
官方文档中的说明与解决方案:
避免在滚动时动态修改滚动位置
不要监听到滚动事件后立即将当前滚动位置重新赋值给 scroll-top,这会导致逻辑层又向视图层发送数据,形成通讯阻塞。
scroll 事件监听,不要实时改变 scroll-top/scroll-left 属性组件属性设置不生效的解决办法
如果你确实需要在滚动过程中修改 scroll-top(例如控制回到顶部),请使用官方推荐的方式:先记录 scroll 事件中的当前值,下一次设置时先设为记录的值,再立即设置为目标值。
具体代码示例见:
Vue2 组件属性设置不生效解决办法
Vue3 组件属性设置不生效解决办法
其他可能引起抖动的原因
总结:
如果你的代码中在 @scroll 里直接修改了 scroll-top,请移除该逻辑,或按照官方提供的“先记录再设置”的方法处理。这样可以有效解决滑动抖动问题。