uniapp里面使用scroll-view 组件,动态设置scroll-top 属性来控制滚动高度,但是当想滚动到起始位置时 设置动态值为0 时无效的。
具体原因还在找,但是找到了解决方法。
首先要定义一个变量记录滚动条的位置
<scroll-view :style="{'background-color': currentTheme.backgroundColor}"
@scroll="scrollChange"
:scroll-top="scrollTop"
:scroll-with-animation="scrollAnimation"
scroll-y="true" >
用 @scroll="scrollChange" 监听 滚动条变化
scrollChange (e) {
this.lastScrollY = e.detail.scrollTop;
},
定义一个变量 存滚动的位置
当需要滚动到 初始值的时候
that.scrollAnimation = false;//是否有过度效果
that.scrollTop = that.lastScrollY
that.$nextTick(function(){
that.scrollTop = 0;
})
先将滚动的当前高度赋值给scrollTop 然后设置为0 就有效果了
其他情况如果直接设置无效时,也可以用类似的方法