详解mpvue scroll-view自动回弹bug解决方案
表现
设置了scroll-top的scroll-view组件,在组件所在vue实例data发生改变时会自动回弹到最上方
解决方案
打开node_modules/mpvue/index.js,在任意位置添加以下两个方法
functioncalcDiff(holder,key,newObj,oldObj){ if(newObj===oldObj||newObj===undefined){ return } if(newObj==null||oldObj==null||typeofnewObj!==typeofoldObj){ holder[key]=newObj }elseif(Array.isArray(newObj)&&Array.isArray(oldObj)){ if(newObj.length===oldObj.length){ for(vari=0,len=newObj.length;i2.找到throttleSetData修改为
varthrottleSetData=throttle(function(page,data){ page.setData(diff(data,page.data)); },50);3.找到updateDataToMP方法,将throttleSetData的调用方式改为
throttleSetData(page,data);希望官方早日修复,参考:
使用脏检查优化每次更新数据时都会传输大量数据的问题,解决删除回退,列表忽然滚动到顶部等问题
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。