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.mysqlcn.com/upload11/2303/131139130.png" rel="external nofollow" rel="external nofollow"
:style="{ transform: `scale(${props.distance / 80})` }"
>
<!-- 释放提示 -->
<img
class="doge"
slot="loosing"
src="https://img.mysqlcn.com/upload11/2303/131139130.png" rel="external nofollow" rel="external nofollow"
>
<!-- 加载提示 -->
<img
class="doge"
slot="loading"
src="https://img.mysqlcn.com/upload11/2303/131139950.jpg" rel="external nofollow"
>
<p>刷新次数: {{ count }}</p>
</van-pull-refresh>
<style>
.doge {
width: 140px;
height: 72px;
margin-top: 8px;
border-radius: 4px;
}
</style>
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
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 |
事件名 | 说明 | 回调参数 |
---|---|---|
refresh | 下拉刷新时触发 | - |
名称 | 说明 | SlotProps |
---|---|---|
default | 自定义内容 | - |
normal | 非下拉状态时顶部内容 | - |
pulling | 下拉过程中顶部内容 | { distance: 当前下拉距离 } |
loosing | 释放过程中顶部内容 | { distance: 当前下拉距离 } |
loading | 加载过程中顶部内容 | { distance: 当前下拉距离 } |
success | 刷新成功提示内容 | - |
参见在桌面端使用。
我们对字体进行统一规范,力求在各个操作系统下都有最佳展示效果。中文字体英文/数字字体Font-family 代码font-family: "Helvet...
用于选择或输入日期选择日以「日」为基本单位,基础的日期选择控件基本单位由type属性指定。快捷选项需配置shortcuts,禁用日期...
本文档将帮助你从 Element 2.x 升级至 Element Plus.不兼容更新以下是不兼容更新的列表本文档有待完善,目前请参考这里的不兼容...
Icon 图标提供了一套常用的图标集合。Element Plus 团队正在将原有组件内的Font Icon向SVG Icon迁移,请多多留意ChangeLog, 及时...
在一组备选项中进行单选基础用法由于选项默认可见,不宜过多,若选项过多,建议使用 Select 选择器。要使用 Radio 组件,只需要...
Switch 开关表示两种相互对立的状态间的切换,多用于触发「开/关」。基本用法绑定v-model到一个Boolean类型的变量。可以使用acti...
DatePicker 日期选择器用于选择或输入日期选择日以「日」为基本单位,基础的日期选择控件基本单位由type属性指定。通过shortcuts...
Tag 标签用于标记和选择。基础用法由type属性来选择 tag 的类型,也可以通过color属性来自定义背景色。templateel-tag标签一/el-...
Bootstrap4提供了一些有代表意义的颜色类,如:.text-muted,.text-primary,.text-success,.text-info,.text-warning,.text-dange...