uniapp中scroll-view实现自动滚动到最底部的方法
引言
在做uniapp项目中,有个滚动视图组件scroll-view,跟微信小程序里的组件一样的,想要实现自动滚动到最底部,是一件容易忽略的,小事情。
问题呈现
官网uniapp文档上说可以控制滚动条,并没有自动滚动到底部的设置选项,请看布局源代码,如下,大多数可能都是这样写的
<template>
<view>
<scroll-view class="scroll-view" :style="{height:scrollViewHeight+'px'}" :scroll-y="true" :scroll-top="scrollTop" :scroll-with-animation="true">
<block v-for="(item,index) in images" :key="index">
<image class="item" :src="item.src" mode="aspectFill"></image>
</block>
</scroll-view>
</view>
</template>
<script>
export default {
data() {
return {
images:[],
scrollTop:0,//滚动条位置
scrollViewHeight:300,//滚动视图的高度
//...
};
},
//...
}
</script>虽然可以控制滚动条位置,但是,不知道滚动视图框内的内容高度,要怎么精准控制滚动条位置呢
解决方案
通过各种尝试,认为最好的方案就是,在滚动视图组件内再加一层view视图,布局改动后,源代码如下
<template>
<view>
<scroll-view class="scroll-view" :style="{height:scrollViewHeight+'px'}" :scroll-y="true" :scroll-top="scrollTop" :scroll-with-animation="true">
<view id="scroll-view-content">
<block v-for="(item,index) in images" :key="index">
<image class="item" :src="item.src" mode="aspectFill"></image>
</block>
</view>
</scroll-view>
</view>
</template>
<script>
//此处省略...
</script>还有,实现滚动底部的处理方法scrollToBottom(),代码如下
export default {
data() {
return {
images:[],
scrollTop:0,//滚动条位置
scrollViewHeight:300,//滚动视图的高度
//...
};
},
mounted() {
let i = 10;
do{
this.images.push({
src:'../../static/test.jpg',
//...
});
i--;
}while(i>0);
},
//...
methods:{
scrollToBottom(){
this.$nextTick(()=>{
uni.createSelectorQuery().in(this).select('#scroll-view-content').boundingClientRect((res)=>{
let top = res.height-this.scrollViewHeight;
if(top>0){
this.scrollTop=top;
}
}).exec()
})
}
}
}注意事项
需要注意组件scroll-view的属性设置
- 需要设置固定高度,这样视图里面内容当只有超过该高度才会有滚动效果
- 需要设置
scroll-with-animation=true,可以出现慢慢滚动到底部效果
总结
到此这篇关于uniapp中scroll-view实现自动滚动到最底部的文章就介绍到这了,更多相关uniapp scroll-view自动滚动最底部内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
学习使用bootstrap基本控件(table、form、button)
这篇文章主要教会大家学习使用bootstrap基本控件,如table、form、button控件,感兴趣的小伙伴们可以参考一下2016-04-04
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
这篇文章主要介绍了微信小程序-扫一扫wx.scanCode() 扫码大变身,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-04-04


最新评论