1
- 发布:2020-07-25 11:40
- 更新:2021-06-12 20:33
- 阅读:1831
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 2.7.14
手机系统: Android
手机系统版本号: Android 10
手机厂商: 小米
手机机型: 红米note7
页面类型: nvue
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
2
2
实际结果:
3
3
bug描述:
nvue ,scroll-view的scroll-into-view只能滚动一次
再次设置不能滚动了
【用了异步还有2级oldscrolltop json格式才解决- - 真是不明白这什么逻辑呀,】
4 个回复
choin (作者)
scroll-top设置为0同样,也是就一次,点第二次没反应
何木木
这个咋解决的?
我用于聊天发送滚动到底部,单发现只有第一次可以,之后就没用了
choin (作者)
没解决,不知道哪位大神解决了
2020-12-13 22:05
shamshing
通过试验发现scroll-into-view的值需要在变化之后才会滚动到相应的位置,如果第二次赋值于第一次相同,则没有反应,具体是BUG或者机制就是这样现在还不清楚
但可以通过把表达式放在setTimeout中,设置一个非常短的延迟再执行就行, 这样每次执行函数的时候其实就是发生了两次赋值,并且第一次赋值为无效值,代码如下
function scrollInto(){
this.scrollId = 'item'
setTimeout(()=>{
this.scrollId = 'item' + index
}, 100)
}
shamshing
最优解在这,https://ask.dcloud.net.cn/article/37296
思路一致,都是给scroll-into-view赋值2次,但这个楼主的$nextTick是最优解
2021-06-13 15:01
luodada
自己翻问答贴,这问题18年谈到现在