Skip to content

PullRefresh 下拉刷新


按需引入

::: CopyCode

ts
import { createApp } from 'vue'
import App from './App.vue'
import { MePullRefresh } from 'mine-h5-ui'
import 'mine-h5-ui/styles/MePullRefresh.css'

createApp(App).use(MePullRefresh).mount('#app')

:::

提示

  • 如果你觉得重新编写 HTML 结构麻烦,可以直接复制下面的代码。

代码演示

基础用法

  • 通过 v-model 来设置组件的加载状态。

::: CopyCode

vue
<script lang="ts" setup>
import { ref } from 'vue'

/**
 * 加载状态
 */
const loading = ref(false)

/**
 * 刷新次数
 */
const count = ref(0)

/**
 * 刷新
 */
const onRefresh = () => {
  setTimeout(() => {
    count.value++
    loading.value = false
  }, 3000)
}
</script>

<template>
  <me-pull-refresh v-model="loading" @refresh="onRefresh">
    刷新次数
    <template v-text="count"></template>
  </me-pull-refresh>
</template>

:::

自定义提示文本

  • 通过属性 load-text 来设置提示文本,默认为 ["开始下拉...", "释放刷新...", "还在请求后台...", "成功了"]

::: CopyCode

vue
<script lang="ts" setup>
import { ref } from 'vue'

/**
 * 自定义加载文本
 */
const loadText = Object.freeze(['开始下拉...', '释放刷新...', '还在请求后台...', '成功了'])

/**
 * 加载状态
 */
const loading = ref(false)

/**
 * 刷新次数
 */
const count = ref(0)

/**
 * 刷新
 */
const onRefresh = () => {
  setTimeout(() => {
    count.value++
    loading.vale = false
  }, 3000)
}
</script>

<template>
  <me-pull-refresh v-model="loading" :load-text="loadText" :load-icon="false" @refresh="onRefresh">
    刷新次数
    <template v-text="count"></template>
  </me-pull-refresh>
</template>

:::

API

参数

参数说明类型可选值默认值版本
modelValue(v-model)双向绑定组件加载状态boolean----v2.0.0
load-text加载文本Array--["开始下拉...", "释放刷新...", "还在请求后台...", "成功了"]v2.0.0
load-icon加载图标显示状态booleantrue / falsetruev2.0.0

方法

方法名说明回调参数版本
refresh释放下拉时触发的事件--v2.3.5

基于 MIT 许可发布