https://github.com/bedlate/vue-data-loading

Examples

examples

Installation

 npm install vue-pull-to --save

Use Setup

<template>
<div>
<pull-to :top-load-method="refresh">
<ul>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
</ul>
</pull-to>
</div>
</template> <script>
import PullTo from 'vue-pull-to' export default {
name: 'example',
components: {
PullTo
},
methods: {
refresh(loaded) {
setTimeout(() => {
this.dataList.reverse();
loaded('done');
}, 2000);
}
}
}
</script>

组件会默认占据父元素的百分之百高度。props top-load-methodbottom-load-method会默认传进一个loaded参数,该参数是一个改变组件加载状态的函数,必须调用一次loaded不然组件就会一直处于加载状态,如果执行loaded('done')组件内部状态就会变成成功加载的状态,loaded('fail')为失败。

更多使用示例请参考Examples的代码

API Docs

props

属性 说明 类型 默认值
distance-index 滑动的阀值(值越大滑动的速度越慢) Number 2
top-block-height 顶部在滚动容器外的块级元素区域高度 Number 50
bottom-block-height 底部在滚动容器外的块级元素区域高度 Number 50
top-load-method 顶部下拉时执行的方法 Function  
bottom-load-method 底部上拉时执行的方法 Function  
is-throttle 是否截流top-pullbottom-pull自定义事件的触发以保证性能 Boolean true
top-config 滚动容器顶部信息的一些配置 Object 默认配置
bottom-config 滚动容器底部信息的一些配置 Object 默认配置

topConfigbottomConfig可配置的选项和默认配置项的值

const TOP_DEFAULT_CONFIG = {
pullText: '下拉刷新', // 下拉时显示的文字
triggerText: '释放更新', // 下拉到触发距离时显示的文字
loadingText: '加载中...', // 加载中的文字
doneText: '加载完成', // 加载完成的文字
failText: '加载失败', // 加载失败的文字
loadedStayTime: 400, // 加载完后停留的时间ms
stayDistance: 50, // 触发刷新后停留的距离
triggerDistance: 70 // 下拉刷新触发的距离
} const BOTTOM_DEFAULT_CONFIG = {
pullText: '上拉加载',
triggerText: '释放更新',
loadingText: '加载中...',
doneText: '加载完成',
failText: '加载失败',
loadedStayTime: 400,
stayDistance: 50,
triggerDistance: 70
}

slots

名称 说明 scope
default 默认slot滚动容器的内容  
top-block 滚动容器外顶部的内容(支持作用域slot需用template标签加上scope属性) state:当前的状态、state-text:状态对应的文本
bottom-block 滚动容器外底部的内容(支持作用域slot需用template标签加上scope属性) state:当前的状态、state-text:状态对应的文本

events

事件名 说明
top-state-change 顶部状态发生了改变时触发,第一个参数为当前的状态
bottom-state-change 底部状态发生了改变时触发,第一个参数为当前的状态
top-pull 下拉时触发,第一个参数为当前拉动的距离值,默认会被截流,可配置props isThrottle来实时触发
bottom-pull 上拉时触发,第一个参数为当前拉动的距离值,默认会被截流,可配置props isThrottle来实时触发
infinite-scroll 当滚动容器滚动到底部时触发

Vue下拉刷新组件的更多相关文章

  1. Google自己的下拉刷新组件SwipeRefreshLayout

    SwipeRefreshLayout SwipeRefreshLayout字面意思就是下拉刷新的布局,继承自ViewGroup,在support v4兼容包下,但必须把你的support librar ...

  2. Android内置下拉刷新组件SwipeRefreshLayout

    也许下拉刷新之前,你可能会使用一些第三方的开源库,例如PullToRefresh, ActionBar-PullToRefresh等待,但现在有的正式组成部分---SwipeRefreshLayout ...

  3. Google官方下拉刷新组件---SwipeRefreshLayout

    今天在Google+上看到了SwipeRefreshLayout这个名词,遂搜索了下,发现竟然是刚刚google更新sdk新增加的一个widget,于是赶紧抢先体验学习下. SwipeRefreshL ...

  4. 打造通用的Android下拉刷新组件(适用于ListView、GridView等各类View)

    前言 近期在做项目时,使用了一个开源的下拉刷新ListView组件.极其的不稳定,bug还多.稳定的组件又写得太复杂了,jar包较大.在我的一篇博客中也讲述过下拉刷新的实现,即Android打造(Li ...

  5. SuperSwipeRefreshLayout 一个功能强大的自己定义下拉刷新组件

    SuperSwipeRefreshLayout 一个功能强大的自己定义下拉刷新组件. Why? 下拉刷新这样的控件.想必大家用的太多了,比方使用非常多的XListView等. 近期.项目中非常多列表都 ...

  6. 基于better-scroll封装一个上拉加载下拉刷新组件

    1.起因 上拉加载和下拉刷新在移动端项目中是很常见的需求,遂自己便基于better-scroll封装了一个下拉刷新上拉加载组件. 2.过程 better-scroll是目前比较好用的开源滚动库,提供很 ...

  7. vue-上拉加载、下拉刷新组件

    vue在移动端开发过程中,上拉加载.下拉刷新是页面的基本需求,现在给大家介绍一种基于touch事件封装的刷新组件. 组件支持传参.传递事件.请求成功异步回调.上拉与触底触发加载或刷新. 父子组件间的通 ...

  8. 分享一个discuz touch端的jQuery下拉刷新组件

    在线Demo 最近装了个discuz论坛, 趣股VIP吧,发现里面内置的jQuery上拉刷新组件写得还行,STATICURL可以用'http://o9gzet7tk.bkt.clouddn.com/i ...

  9. android之官方下拉刷新组件SwipeRefreshLayout

    1.setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener):设置手势滑动监听器. 2.setProgressBackgr ...

随机推荐

  1. Java学习--数组的定义和使用

    1. 数组分配了空间,未赋值 public class ArrayDemo01{ public static void main(String args[]){ int score[] = null ...

  2. iOS图片按比例显示

    只需加这么一段代码,如下: imageView.contentMode = UIViewContentModeScaleAspectFit; imageView.autoresizesSubviews ...

  3. UWP 取消GridView、ListView鼠标选中、悬停效果

    因为经常碰到ListView或者ListBox之类的选中.鼠标悬停样式和自己设置的主题颜色不搭,这时就需要改变这些样式了. 而这里我通过ListView来说明,大致思路其实就是重新定义Item的Tem ...

  4. 【转】C#中Serializable序列化实例详解

    这篇文章主要介绍了C#中Serializable序列化,以实例形式详细讲述了系列化的技术及各种序列化方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了C#中Serializable序列化.分 ...

  5. nodejs学习(imooc课程笔记, 主讲人Scott)

    课程地址: 进击Node.js基础(一) 进击Node.js基础(二) 1. nodejs创建服务器 var http = require('http'); //加载http模块 //请求进来时, 告 ...

  6. AJPFX平台:中国的经济是个大泡沫吗?这个泡沫即将崩解吗?

    AJPFX问:中国的经济是个大泡沫吗?这个泡沫即将崩解吗? 这一老问题,最近又一次引起世界的关注. 首先,中国在领导层变更之际,把2013年的增长目标定为7.5%,“保八”的调子不再,两位数高增长的时 ...

  7. Linux Shell常用脚本整理

    轮询检测Apache状态并启用钉钉报警◆ #!/bin/bash shell_user="root" shell_domain="apache" shell_l ...

  8. 解压cpio.gz

    #gunzip 文件名.cpio.gz #cpio -idmv < 文件名.cpio

  9. datatable插件使用小记

    经验,是前行路上,磕磕碰碰,不断探索,最终留下的结晶:亦是下一次,快速高效,寻求到结果的快捷方式. datatable插件具体可参考: 官网:http://datatables.club/ 参数说明: ...

  10. linux的Yum软件包管理工具

    Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载 ...