# PullRefresh 下拉刷新 用于提供下拉刷新的交互操作。 ## 基础用法 下拉刷新时会触发 `refresh` 事件,在事件的回调函数中可以进行同步或异步操作,操作完成后将 `v-model` 设置为 `false`,表示加载完成。 ```html ``` ```typescript import { ref } from 'vue' const loading = ref(false) const list = ref([1, 2, 3, 4, 5]) function onRefresh() { setTimeout(() => { list.value = [1, 2, 3, 4, 5, 6] loading.value = false }, 2000) } ``` ## 自定义文案 通过 `pulling-text`、`loosing-text`、`loading-text`、`success-text` 属性可以自定义不同状态下的文案。 ```html ``` ## 成功提示 通过 `success-text` 可以设置刷新成功后的提示文案,通过 `success-duration` 可以设置提示展示时长。 ```html ``` ## 自定义插槽 通过插槽可以自定义下拉刷新过程中的提示内容。 ```html ``` ## 禁用状态 通过 `disabled` 属性可以禁用下拉刷新。 ```html ``` ## API ### Props | 参数 | 说明 | 类型 | 可选值 | 默认值 | 最低版本 | |------|------|------|-------|--------|---------| | v-model | 是否处于加载中状态 | `boolean` | - | `false` | - | | disabled | 是否禁用下拉刷新 | `boolean` | - | `false` | - | | pulling-text | 下拉过程提示文案 | `string` | - | `'下拉即可刷新...'` | - | | loosing-text | 释放过程提示文案 | `string` | - | `'释放即可刷新...'` | - | | loading-text | 加载过程提示文案 | `string` | - | `'加载中...'` | - | | success-text | 刷新成功提示文案 | `string` | - | `''` | - | | success-duration | 刷新成功提示展示时长(ms) | `number \| string` | - | `500` | - | | animation-duration | 动画时长(ms) | `number \| string` | - | `300` | - | | head-height | 顶部内容高度 | `number \| string` | - | `50` | - | | pull-distance | 触发下拉刷新的距离 | `number \| string` | - | 与 `head-height` 相同 | - | ### Events | 事件名 | 说明 | 参数 | 最低版本 | |--------|------|------|---------| | refresh | 下拉刷新时触发 | - | - | | change | 拖拽时或状态改变时触发 | `{ status: PullRefreshStatus, distance: number }` | - | ### Slots | 名称 | 说明 | 参数 | 最低版本 | |------|------|------|---------| | default | 内容区 | - | - | | normal | 非下拉状态时顶部内容 | - | - | | pulling | 下拉过程中顶部内容 | `{ distance: number }` | - | | loosing | 释放过程中顶部内容 | `{ distance: number }` | - | | loading | 加载过程中顶部内容 | `{ distance: number }` | - | | success | 刷新成功时顶部内容 | - | - | ### Methods 通过 ref 可以获取到 PullRefresh 实例并调用实例方法。 | 方法名 | 说明 | 参数 | 返回值 | 最低版本 | |--------|------|------|--------|---------| | finish | 结束刷新状态 | - | - | - | ### 类型定义 组件导出以下类型定义: ```typescript import type { PullRefreshProps, PullRefreshStatus } from '@/uni_modules/wot-design-uni' type PullRefreshStatus = 'normal' | 'pulling' | 'loosing' | 'loading' | 'success' ``` ## 常见问题 ### 在某些情况下拖拽不生效? 请检查是否在页面滚动容器上设置了 `overflow: hidden` 或其他影响滚动的样式。 ### 如何实现上拉加载更多? 可以结合 `wd-loadmore` 组件实现上拉加载更多功能。 ```html ```