引入import Vue from 'vue';
import { PullRefresh } from 'vant';
Vue.use(PullRefresh);
代码演示基础用法下拉刷新时会触发 refresh 事件,在事件的回调函数中可以进行同步或异步操作,操作完成后将 v-model 设置为 false,表示加载完成。 <van-pull-refresh v-model="isLoading" @refresh="onRefresh">
<p>刷新次数: {{ count }}</p>
</van-pull-refresh>
import { Toast } from 'vant';
export default {
data() {
return {
count: 0,
isLoading: false
}
},
methods: {
onRefresh() {
setTimeout(() => {
Toast('刷新成功');
this.isLoading = false;
this.count++;
}, 1000);
}
}
}
成功提示通过success-text可以设置刷新成功后的顶部提示文案 <van-pull-refresh
v-model="isLoading"
success-text="刷新成功"
@refresh="onRefresh"
>
<p>刷新次数: {{ count }}</p>
</van-pull-refresh>
自定义提示通过插槽可以自定义下拉刷新过程中的提示内容 <van-pull-refresh v-model="isLoading" :head-height="80" @refresh="onRefresh">
<!-- 下拉提示,通过 scale 实现一个缩放效果 -->
<img
class="doge"
slot="pulling"
slot-scope="props"
src="https://img.yzcdn.cn/vant/doge.png" rel="external nofollow" rel="external nofollow"
:style="{ transform: `scale(${props.distance / 80})` }"
>
<!-- 释放提示 -->
<img
class="doge"
slot="loosing"
src="https://img.yzcdn.cn/vant/doge.png" rel="external nofollow" rel="external nofollow"
>
<!-- 加载提示 -->
<img
class="doge"
slot="loading"
src="https://img.yzcdn.cn/vant/doge-fire.jpg" rel="external nofollow"
>
<p>刷新次数: {{ count }}</p>
</van-pull-refresh>
<style>
.doge {
width: 140px;
height: 72px;
margin-top: 8px;
border-radius: 4px;
}
</style>
APIProps参数 | 说明 | 类型 | 默认值 |
---|
v-model | 是否处于加载中状态 | boolean | - | pulling-text | 下拉过程提示文案 | string | 下拉即可刷新... | loosing-text | 释放过程提示文案 | string | 释放即可刷新... | loading-text | 加载过程提示文案 | string | 加载中... | success-text | 刷新成功提示文案 | string | - | success-duration | 刷新成功提示展示时长(ms) | number | string | 500 | animation-duration | 动画时长 | number | string | 300 | head-height v2.4.2 | 顶部内容高度 | number | string | 50 | disabled | 是否禁用下拉刷新 | boolean | false |
EventsSlots名称 | 说明 | SlotProps |
---|
default | 自定义内容 | - | normal | 非下拉状态时顶部内容 | - | pulling | 下拉过程中顶部内容 | { distance: 当前下拉距离 } | loosing | 释放过程中顶部内容 | { distance: 当前下拉距离 } | loading | 加载过程中顶部内容 | { distance: 当前下拉距离 } | success | 刷新成功提示内容 | - |
常见问题在桌面端无法操作组件?参见在桌面端使用。
实例演示
|
请发表评论