uniapp中scroll-view實(shí)現(xiàn)自動滾動到最底部的方法
引言
在做uniapp項目中,有個滾動視圖組件scroll-view,跟微信小程序里的組件一樣的,想要實(shí)現(xiàn)自動滾動到最底部,是一件容易忽略的,小事情。
問題呈現(xiàn)
官網(wǎng)uniapp文檔上說可以控制滾動條,并沒有自動滾動到底部的設(shè)置選項,請看布局源代碼,如下,大多數(shù)可能都是這樣寫的
<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>雖然可以控制滾動條位置,但是,不知道滾動視圖框內(nèi)的內(nèi)容高度,要怎么精準(zhǔn)控制滾動條位置呢
解決方案
通過各種嘗試,認(rèn)為最好的方案就是,在滾動視圖組件內(nèi)再加一層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>還有,實(shí)現(xiàn)滾動底部的處理方法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的屬性設(shè)置
- 需要設(shè)置固定高度,這樣視圖里面內(nèi)容當(dāng)只有超過該高度才會有滾動效果
- 需要設(shè)置
scroll-with-animation=true,可以出現(xiàn)慢慢滾動到底部效果
總結(jié)
到此這篇關(guān)于uniapp中scroll-view實(shí)現(xiàn)自動滾動到最底部的文章就介紹到這了,更多相關(guān)uniapp scroll-view自動滾動最底部內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript保留兩位小數(shù)的實(shí)現(xiàn)方法你了解嗎
這篇文章主要為大家介紹了javascript保留兩位小數(shù)的實(shí)現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01
webpack5的entry和output配置小白學(xué)習(xí)
這篇文章主要為大家介紹了webpack5的entry和output使用配置小白學(xué)習(xí)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
javascript用正則表達(dá)式過濾空格的實(shí)現(xiàn)代碼
下面小編就為大家?guī)硪黄猨avascript用正則表達(dá)式過濾空格的實(shí)現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
javascript四舍五入函數(shù)代碼分享(保留后幾位)
這篇文章主要介紹了javascript四舍五入函數(shù)分享,大家參考使用吧2013-12-12
ie6下png圖片背景不透明的解決辦法使用js實(shí)現(xiàn)
我們時常在使用png圖片的時候,在ie6下發(fā)生背景不透明的問題,解決的方法實(shí)在是太多了,下面給大家介紹下一個js解決的方式,感興趣的朋友可以了解下的2013-01-01
JavaScript判斷數(shù)組的方法總結(jié)與推薦
這篇文章主要給大家介紹了關(guān)于JavaScript判斷數(shù)組方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-02-02

