scroll-view可滚动视图区域。使用竖向滚动时,需要给scroll-view一个固定高度
属性 | 类型 | 必填 | 默认值 |
scroll-top | number/string | 否 | 设置竖向滚动条位置及 |
当在同一个页面点击不同的按钮,渲染不同的数据时
当浏览该按钮对应的数据,使数据滚动(竖向)到非第一条数据时,切换按钮,却发现数据没有返回到第一条数据,而是停留在了上一个按钮浏览的位置,怎么处理这种出现的情况,使每次点击不同的按钮,都能使数据显示第一条数据
通过使用scroll-view中的通用属性scroll-top设置竖向滚动条位置为0
<scroll-view scroll-y class="left">
<view
@click="changeActive(index)"
v-for="(item,index) in xxdata"
:key="index"
</scroll-view>
<scroll-view scroll-y class="right" :scroll-top="scrollTop">
<view v-for="item in 10" :key="item"></view>
</scroll-view>
export default {
data(){
return{
scrollTop:0,
rightList:[]
}
},
methods:{
changeActive(index){
// 根据索引找到对应的右侧分类数据
this.rightList=this.xxdata[index].children
// 先将scrollTop设置为-1,为了让scrollview能检测到滚动数据的变化
// console.log(this.rightList);
// 更新前设置为-1
this.scrollTop=-1
// 数据更新后,视图的更新是异步的
// 更新后设置为0
this.$nextTick(()=>{
// scroll-view滚到顶部
this.scrollTop=0
})
},
}
需要注意的是,先设置scroll-top为-1在设置为0,才能检测到数据的变化,才能够让scroll-view真正的滚过去