# pulldown
# 介绍
pulldown 插件为 BetterScroll 扩展下拉刷新的能力。
# 安装
npm install @better-scroll/pull-down --save
// or
yarn add @better-scroll/pull-down
# 使用
首先引入 pulldown 插件,并通过静态方法 BScroll.use()
初始化插件
import BScroll from '@better-scroll/core'
import PullDown from '@better-scroll/pull-down'
BScroll.use(PullDown)
然后,实例化 BetterScroll 时需要传入 pulldown 配置项。
new BScroll('.bs-wrapper', {
pullDownRefresh: true
})
# 示例
<template>
<div class="pulldown">
<div
class="pulldown-bswrapper"
ref="bsWrapper"
>
<div class="pulldown-scroller">
<div class="pulldown-wrapper">
<div v-show="beforePullDown">
<span>Pull Down and refresh</span>
</div>
<div v-show="!beforePullDown">
<div v-show="isPullingDown">
<span>Loading...</span>
</div>
<div v-show="!isPullingDown">
<span>Refresh success</span>
</div>
</div>
</div>
<ul class="pulldown-list">
<li
:key="i"
class="pulldown-list-item"
v-for="i of dataList"
>{{ `I am item ${i} ` }}</li>
</ul>
</div>
</div>
</div>
</template>
# pullDownRefresh 选项对象
# threshold
类型:
number
默认值:
90
配置顶部下拉的距离来决定刷新时机。
# stop
类型:
number
默认值:
40
回弹悬停的距离。BetterScroll 在派发
pullingDown
钩子之后,会立马执行回弹悬停动画。
# 实例方法
# finishPullDown()
- 介绍:结束下拉刷新行为。
- 参数:无
- 返回值:无
注意
每次触发 pullingDown
钩子后,你应该主动调用 finishPullDown()
告诉 BetterScroll 准备好下一次的 pullingDown 钩子。
# openPullDown(config: PullDownRefreshOptions = {})
- 介绍:动态开启下拉刷新功能。
- 参数:
{ PullDownRefreshOptions } config
:修改 pulldown 插件的选项对象PullDownRefreshOptions
:类型如下
export type PullDownRefreshOptions = Partial<PullDownRefreshConfig> | true export interface PullDownRefreshConfig { threshold: number stop: number }
- 返回值:无
注意
openPullDown 方法应该配合 closePullDown 一起使用,因为在 pulldown 插件的生成过程当中,已经自动监测了下拉刷新的动作。
# closePullDown()
- 介绍:动态关闭下拉刷新功能。
- 参数:无
- 返回值:无
# autoPullDownRefresh()
- 介绍:自动执行下拉刷新。
- 参数:无
- 返回值:无
# 事件
# pullingDown
- 参数:无
- 触发时机:当顶部下拉的距离大于
threshold
值时,触发一次pullingDown
钩子。
危险
监测到下拉刷新的动作之后,pullingDown
钩子的消费机会只有一次,因此你需要调用 finishPullDown()
来告诉 BetterScroll 来提供下一次 pullingDown
钩子的消费机会。
← observe-dom pullup →