setData性能问题

发布于 6 年前作者 xia2420441 次浏览最后编辑 6 年前来自 ask

有一个需求:小程序的页面滚动距离超过指定位置时,将一个搜索框浮现出来,小于指定位置时,则影藏起来,我现在的做法是,页面onPageScroll回调函数中,实时检测是否滚动到对应的位置,然后用setData改变搜索框的样式,控制搜索所显示还是隐藏。

但是在实际测试过程中发现,当页面滚动到指定位置时,要等上好几秒,搜索框才会显示出来,从setData执行完到界面UI刷,有好几秒的延迟,请问这要如何处理?请各位大牛帮忙提供解决方法

4 回复
acao
acao1 楼6 年前

理论上setData不应该会有好几秒这么长的延迟的,烦请提供一下机型,基础库版本和能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们这边定位一下问题。

xiayao
xiayao2 楼6 年前

楼主解决了吗?安卓机一直有延迟问题?

weigao
weigao3 楼6 年前

这个问题,我有个建议,setdata外层在加一层判断,searchTop当前值和要设置的值一样就不要进行setdata了。

dinglei
dinglei4 楼4 年前

的确有这个问题,onPageScroll中加入节流控制,setData后,会延长好几秒才会更新