vue-scroller 滑動組件使用指南


在頁面中經常會用到滾動,下拉刷新,下拉加載等功能,vux的scroller可以使用,但是它不再維護,而且要配合load-more組件一起使用。所以一般在項目中我都是用vue-scroller.

vue-scroller文檔

1.在項目中安裝:

npm i vue-scroller -S

2.在main.js中引用

import VueScroller from 'vue-scroller'
Vue.use(VueScroller)

 

3.在需要用到滾動的地方直接使用
<scroller>里面是滾動元素<scroller>

4.使用技巧

(1)一般來說,我們都是在一個列表中使用這個滾動,經過實踐,在使用scroller時,最好的布局方法是以下這種,一個外部的容器元素,將滾動標簽和滾動內容包裹起來,然后這個外層元素進行定位,要是有頭部標簽需要留出header的高度,並且滾動容器的高度要減小,不然會出現滾動條,在手機上導致滾動到底部看不到頭部的情況,在scroller里面再加一層容器的原因是一般scroller里面只有一個元素性能會比較好,滾動也比較流暢,不然可能會有滾動卡頓,上拉回彈等問題。

<div class="scrollerWrap">
  <scroller  height="100%" :on-refresh="refresh" :on-infinite="infinite" ref="scrollerBottom">
    <main class="scrollerContent">
      <div v-for="item in list">{{item}}</div>
    </main>
  </scroller>
</div>
 .scrollerWrap{
    position:absolute;
    width:100%;
    height:90%;//有header的時候可能會出現滾動條,所以最好高度是除去header的高度
    top:40px;//一般頁面有header的時候需要留出header的高度
    bottom:20px;
    main{
      height:100%;
    }
  }

 

 (2)scroller提供的屬性(常用):

onRefresh:下拉刷新

refresh(done){//下拉刷新
       //your code
    },

 

onInfinite:上拉加載

infinite(done){//上拉加載
      if(this.isBottom){//當沒有更多數據的時候結束加載
        this.loadingTips ="無更多數據"
        setTimeout(()=>{
          done&&done(true);
        },1000);
      }else{//有更多數據時進行數據分頁顯示
        setTimeout(() => {
          this.page++;
          this.getDataList(this.page);
          this.$nextTick(() => {
            this.$refs.scrollerBottom.reset()
          })
        },1500)
      }
    },

refreshText: 下拉刷新的提示文字

noDataText: 上拉加載沒有數據的提示文字

(3)scroller提供的方法(常用):

getPosition(): 得到滾動區域當前的位置

scrollTo(): 滾動到頁面的某一個位置

scrollBy();滾動到內容的相對位置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM