Skip to content

PullRefresh 下拉刷新

用于局部滚动容器刷新,也可配合 usePagePullRefresh 承接页面级原生刷新。

基础用法

vue
<template>
  <lk-pull-refresh v-model="refreshing" height="620rpx" @refresh="onRefresh">
    <view v-for="item in list" :key="item.id">{{ item.title }}</view>
  </lk-pull-refresh>
</template>

<script setup>
import { ref } from 'vue';

const refreshing = ref(false);
const list = ref([]);

function onRefresh() {
  refreshing.value = true;
  setTimeout(() => {
    refreshing.value = false;
  }, 900);
}
</script>

自定义提示

vue
<lk-pull-refresh v-model="refreshing" @refresh="onRefresh">
  <template #text="{ status }">
    <text>{{ status === 'loosing' ? '松开刷新' : '下拉刷新' }}</text>
  </template>
</lk-pull-refresh>

API

Props

参数说明类型默认值
v-model是否刷新中booleanfalse
disabled是否禁用下拉刷新booleanfalse
height容器高度string / number100%
threshold触发刷新阈值,单位 pxnumber80
background刷新区域背景stringtransparent
defaultStyle原生刷新样式none / black / whitenone
showSuccess是否显示刷新成功态booleantrue
loadingType加载动画类型stringspinner
loadingSize加载图标尺寸string / number34
loadingColor加载图标颜色stringvar(--lk-color-primary)
successDuration成功态展示时长,单位 msnumber500
pullingText下拉过程文案string''
loosingText释放刷新文案string''
loadingText刷新中文案string''
successText刷新成功文案string''

Events

事件名说明回调参数
update:modelValue刷新状态变化(value: boolean)
refresh触发刷新-
scroll滚动时触发(event)
restore复位时触发(event)
abort中止刷新时触发(event)
scrolltolower滚动到底部时触发(event)

Slots

插槽名说明作用域参数
default滚动内容-
indicator自定义刷新指示区{ status, distance }
text自定义状态文案{ status, distance }

Demo

项目演示位于 src/components/demos/pull-refresh-demo.vue

基于 MIT 协议开源 · 粤ICP备2022114240号-3

PullRefresh 下拉刷新

正在连接预览服务...

请先运行 pnpm run dev:h5