使用Vue組件來實(shí)現(xiàn)下拉刷新容器

vue-pullrefresh

Vue組件實(shí)現(xiàn)下拉刷新功能

Github地址

效果圖

pullrefresh.gif

Demo地址

qrcode.jpeg

使用方式

git clone https://github.com/watson-yan/vue-pullrefresh.git

組件的源碼路徑: ./src/components/pullRefresh.vue

說明

  • 組件需要一個(gè)prop:next 類型為函數(shù),表示刷新函數(shù), 而且刷新函數(shù)需要為Promise語(yǔ)法糖,只有當(dāng)next被resolve之后。提示信息才會(huì)消失
    組件代碼片段:
this.next().then(() => {
              this.flag = 0
              this.loading = 0
              container.scrollTop = 0
              container.style.overflow = 'auto'
              container.style.transform = 'translate3D(0px, 0px, 0px)'
          })
  • 信息提示欄的顯示方式: 第一版下拉刷新使用的是通過控制 信息提示欄高度 = 下拉的距離 來控制,但是顯示效果在某些手機(jī)機(jī)型不流暢,所以這一版采用CSS3的transform來控制整體容器下移來顯示信息提示欄。

設(shè)計(jì)思路

  1. 假定我們有一個(gè)容器Container(固定高度,并設(shè)置樣式overflow-y:auto),容器中的內(nèi)容為Content(內(nèi)容高度超出容器的高度)。由于內(nèi)容高度已經(jīng)超過容器高度,那么容器Container就會(huì)出現(xiàn)滾動(dòng)條。具體圖示如下:
pic1.jpg
  1. 當(dāng)我們?cè)陧敳肯吕臅r(shí)候,希望能更新Content中的內(nèi)容。即在Container的scrollTop為0的時(shí)候,我們?在觸摸屏幕下拉能觸發(fā)刷新規(guī)則。

  2. 頂部信息的顯示采取?固定在Container的頂部,通過下拉的距離控制頂部信息的顯示高度,從而達(dá)到下拉時(shí)顯示提示信息的效果。

pic2.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容