zent
Version:
一套前端设计语言和基于React的实现
32 lines (23 loc) • 2.18 kB
Markdown
---
title: InfiniteScroller
subtitle: 无限滚动
path: component/infinite-scroller
group: 其他
---
## InfiniteScroller 无限滚动组件
无限滚动组件
### 使用指南
- 常用于长列表内容的懒加载
### API
| 参数 | 说明 | 类型 | 默认值 | 备选值 |
| --------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------- | -------------- | ------- |
| hasMore | 是否还有更多数据待加载 | `boolean` | `true` | `false` |
| loadMore | 加载更多的回调函数,如果函数接收参数则会传入一个停止 loading 效果的回调 | `(() => Promise<unknown>) \| ((stopLoading?: () => void) => void)` | | |
| skipLoadOnMount | 初始化时是否触发一次数据加载 | `boolean` | `false` | `true` |
| useWindow | 是否使用 `window` 作为滚动容器 | `boolean` | `false` | `true` |
| loader | 加载时显示的内容 | `ReactNode` | `BlockLoading` | |
| threshold | 触发 `loadMore` 时距离列表末尾的距离 | `number` | `1` | |
| className | 自定义额外类名 | `string` | | |
### loadMore
- 当异步加载时,期望传入的 `loadMore` 函数的返回值是一个 `Promise` 对象,用于组件控制 loading 的显示
- 你也可以使用 `loadMore` 的参数 `stopLoading` 手动停止 loading,此时不需要返回 `Promise`