小程序
小游戏
企业微信
微信支付
扫描小程序码分享
当前页面数据和接口有4-5个,数据量也大,滚动事件要很慢才响应,
--需求是: 滚动到某个位置,获取滚动的位置判断,把某一元素position:fixed;定位悬浮顶部,
--结果是:需要几秒才响应
7 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
请问最后解决了 吗?我也遇到这个问题了
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
onPageScroll里面设置一个标志参数,结合handletouchend方法,完美解决
onPageScroll: function (e) { if (e.scrollTop > this.data.sectionHeaderLocationTop) { if(!this.data.is_set){ console.log('set fixed') this.setData({ fixed: true, is_set:true }) } } if(e.scrollTop == 0){ console.log('clear fixed') this.setData({ fixed: false, is_set:false }) }},
防止每次设值
在Android上感觉是页面停止滑动之后才触发onPageScroll事件,并且是过程中所有的状态都触发了
一模一样的问题,持续关注。
没用,原生小程序的setData这个性能问题无法解决,只能换成mpvue或者react写法,才能解决setData每次更新全量数据问题,没有diff比较
老铁 有没有找到解决方案 我这边也遇到了延迟问题 延迟的比较严重
没有啊,重写接口,前端不存这么多数据了,之前是所有数据一次性给过来,存在前端,分不同数组,现在只能改成多接口了,刷选条件不存前端了
在安卓机上还是有延迟效果。。。有更好的解决办法吗?
没有,我这也没存储的数据比较多,打算重新写接口了,前端不存大量数据,看看行不行
朋友,有解决吗,在安卓上
不要频繁调用setData,每次触发滚动事件都去调用setData肯定不行,因为这个内部要处理视图渲染更新等等其他复杂逻辑,尽量使用页面的的滚动监听事件,不用scroll-view; 方法:要结合debounce延时避免短时间内高频调用setData
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
请问最后解决了 吗?我也遇到这个问题了
onPageScroll里面设置一个标志参数,结合handletouchend方法,完美解决
防止每次设值
在Android上感觉是页面停止滑动之后才触发onPageScroll事件,并且是过程中所有的状态都触发了
一模一样的问题,持续关注。
没用,原生小程序的setData这个性能问题无法解决,只能换成mpvue或者react写法,才能解决setData每次更新全量数据问题,没有diff比较
老铁 有没有找到解决方案 我这边也遇到了延迟问题 延迟的比较严重
没有啊,重写接口,前端不存这么多数据了,之前是所有数据一次性给过来,存在前端,分不同数组,现在只能改成多接口了,刷选条件不存前端了
在安卓机上还是有延迟效果。。。有更好的解决办法吗?
没有,我这也没存储的数据比较多,打算重新写接口了,前端不存大量数据,看看行不行
朋友,有解决吗,在安卓上
不要频繁调用setData,每次触发滚动事件都去调用setData肯定不行,因为这个内部要处理视图渲染更新等等其他复杂逻辑,尽量使用页面的的滚动监听事件,不用scroll-view;
方法:要结合debounce延时避免短时间内高频调用setData