【uniapp】scroll-view 实现自动滚动到最底部
时间:2024-04-04 09:10:33 来源:网络cs 作者:胡椒 栏目:卖家故事 阅读:
阅读本书更多章节>>>>
在做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
,可以出现慢慢滚动到底部效果 阅读本书更多章节>>>>
本文链接:https://www.kjpai.cn/gushi/2024-04-04/153709.html,文章来源:网络cs,作者:胡椒,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
下一篇:返回列表