WebApp【公共组件库】@前端(For Git Submodule)
Tevin
2025-03-20 b1e987944d36275906373fcd24705f37e1909f11
_cursor.ai/plugins.doc/infiniteScroll.doc/CInfiniteScroll.doc.md
@@ -1,69 +1,34 @@
# 无限滚动组件
# CInfiniteScroll 无限滚动组件
## 组件名称
## 功能说明
`CInfiniteScroll` - 用于实现下拉刷新和上拉加载更多功能的滚动容器组件
该组件实现了移动端常见的下拉刷新和上拉加载更多功能,支持自动加载第一页和手动触发加载,适用于列表展示场景。内置了加载状态、空数据状态和加载完成状态的显示,使用简单便捷。
## 组件说明
该组件实现了移动端常见的下拉刷新和上拉加载更多功能,支持自动加载第一页和手动触发加载,适用于列表展示场景。
## 使用方法
```html
<CInfiniteScroll
  :autoInit="true"
  :onLoadMore="handleLoadMore"
>
  <!-- 内容插槽 -->
  <view v-for="(item, index) in list" :key="index">
    {{ item.name }}
  </view>
</CInfiniteScroll>
```
## 引用方式
```js
// 数据加载方法
handleLoadMore({ current, next, success, fail }) {
  // 请求后端数据
  $fetch.getList({ page: next }).then(res => {
    // 加载成功
    success({
      pageTotal: res.pageTotal, // 总页数
    });
  }).catch(() => {
    // 加载失败
    fail();
  });
}
import { CInfiniteScroll } from '@components/plugins/infiniteScroll';
```
## 属性说明
## 组件参数
| 属性名     | 类型     | 默认值 | 说明                             |
| ---------- | -------- | ------ | -------------------------------- |
| autoInit   | Boolean  | false  | 是否自动初始化(自动加载第一页) |
| onLoadMore | Function | -      | 发起加载页面数据的回调函数       |
- `autoInit` (Boolean,默认值:false):是否自动初始化(自动加载第一页)
- `onLoadMore` (Function,必填):发起加载页面数据的回调函数
  - `current` (Number):当前页页码
  - `next` (Number):需要加载的页面页码
  - `success` (Function):当加载成功后调用
    - 参数:`{ pageTotal: Number }` 总页数
  - `fail` (Function):加载失败后调用
## 方法说明
## 实例方法
| 方法名      | 参数      | 说明                                        |
| ----------- | --------- | ------------------------------------------- |
| $initScroll | -         | 初始化加载第一页数据                        |
| $refresh    | autoStart | 重置并刷新数据,参数为 'off' 时不会自动加载 |
## 回调参数说明
`onLoadMore` 回调函数参数:
| 参数名  | 类型     | 说明                                           |
| ------- | -------- | ---------------------------------------------- |
| current | Number   | 当前页页码                                     |
| next    | Number   | 需要加载的页面页码                             |
| success | Function | 当加载成功后调用,参数 `{ pageTotal: 总页数 }` |
| fail    | Function | 加载失败后调用                                 |
- `$initScroll`:初始化加载第一页数据
- `$refresh`:重置并刷新数据
  - `autoStart` (String,可选):当值为 'off' 时不会自动加载,其他值或不传时会立即加载
## 使用示例
### 基础用法
```html
<template>
@@ -120,6 +85,7 @@
## 注意事项
1. 组件通过检测滚动位置自动触发加载更多功能
2. 下拉刷新功能仅在滚动到顶部时可用
3. 加载状态会自动管理,包括"加载中"和"没有更多了"等提示
- 组件通过检测滚动位置自动触发加载更多功能
- 下拉刷新功能仅在滚动到顶部时可用
- 加载状态会自动管理,包括"加载中"、"没有更多了"和"暂无数据"等提示
- 组件内部对 H5 和小程序环境做了适配,在不同平台上使用相同的 API 即可