bug介绍及复现
在最近开发小程序的时候遇到了一个bug,当你动态赋予scroll-view高度的时候,scroll-view的下拉刷新功能可能会只能拉到一半就卡住,并且无法下拉。如下图所示
![请添加图片描述](https://img-blog.csdnimg.cn/dcf865745e184c5da5f78eb59d6d2ecd.gif
产生原因
应该是scroll-view元素的下拉位置在元素渲染时就确定了,而我们赋予scroll-view的高度更改了下拉位置,导致下拉的时候没法拉到位
解决方法
在scroll-view的高度变量确定后再渲染scroll-view元素,具体的做法如下代码
<scroll-view
scroll-y="true"
:style="'height:'+height"
v-if="height"
:refresher-enabled='true'
:refresher-triggered='list.flag'
@refresherrefresh='refresh'
@scrolltolower='loadMore'>
</scroll-view>
因为我使用的是uniapp开发小程序,所以是vue的语法,主要的点是写一个 v-if 判断height是否已经存在,如果height已经存在了就渲染上去。在微信小程序的话改成wx:if ,原理是一样的
当然根据不同的业务要求,可以对以上代码做出动态更改,反正只需要在你确定了你需要的scroll-view元素高度后再渲染就OK了,如果是动态改变的也可以使用v-if重新渲染一次
最后
如果文章有解决你的问题可以点个赞或关注一下噢,常常会发一些bug的解决方案和一些开发总结滴!