vue-pullrefresh

Vue组件实现下拉刷新功能

Github地址

效果图

pullrefresh.gif

Demo地址

qrcode.jpeg

使用方式

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

组件的源码路径: ./src/components/pullRefresh.vue

说明

  • 组件需要一个prop:next 类型为函数,表示刷新函数, 而且刷新函数需要为Promise语法糖,只有当next被resolve之后。提示信息才会消失
    组件代码片段:

this.next().then(() => {
              this.flag = 0
              this.loading = 0
              container.scrollTop = 0
              container.style.overflow = 'auto'
              container.style.transform = 'translate3D(0px, 0px, 0px)'
          })
  • 信息提示栏的显示方式: 第一版下拉刷新使用的是通过控制 信息提示栏高度 = 下拉的距离 来控制,但是显示效果在某些手机机型不流畅,所以这一版采用CSS3的transform来控制整体容器下移来显示信息提示栏。

设计思路

  1. 假定我们有一个容器Container(固定高度,并设置样式overflow-y:auto),容器中的内容为Content(内容高度超出容器的高度)。由于内容高度已经超过容器高度,那么容器Container就会出现滚动条。具体图示如下:

pic1.jpg

  1. 当我们在顶部下拉的时候,希望能更新Content中的内容。即在Container的scrollTop为0的时候,我们在触摸屏幕下拉能触发刷新规则。

  2. 顶部信息的显示采取固定在Container的顶部,通过下拉的距离控制顶部信息的显示高度,从而达到下拉时显示提示信息的效果。

pic2.jpg

本文固定链接: http://www.js-code.com/vue-js/vue-js_25277.html