# flutter_paging
**Repository Path**: OpenFlutter/flutter_paging
## Basic Information
- **Project Name**: flutter_paging
- **Description**: Flutter 分页加载。
- **Primary Language**: Unknown
- **License**: MulanPSL-1.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 1
- **Created**: 2019-09-18
- **Last Updated**: 2024-05-29
## Categories & Tags
**Categories**: cross-platform-mobiledev
**Tags**: None
## README
# flutter_paging [](https://pub.dartlang.org/packages/flutter_paging)
分布加载,实现数据与UI解耦。
Note: 这个项目还处于开发阶段. 欢迎[Pull Requests](https://github.com/OpenFlutter/flutter_paging/pulls).
## 安装
首先, 添加 `flutter_paging`,参加[dependency in your pubspec.yaml file](https://flutter.io/using-packages/).
## Widgets
- PagingView : 分页组件基础控件.
- PagingListView : PagingView的子类,包裹了ListView.
## KeyedDataSource
`KeyedDataSource` 分页的核心,数据的获取由`dataSource`完成。
Note: 不要忘记调用 `dataSource.init()`
## Example
```dart
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Paging ListView"),
),
body: RefreshIndicator(
onRefresh: widget.dataSource.refresh,
child: PagingListView.builder(
itemBuilder: (context, index, item) {
return Card(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text("paging->$item"),
));
},
dataSource: widget.dataSource,
loadingIndicator: Center(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: CircularProgressIndicator(),
),
),
noMoreDataAvailableItem: Center(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text("no more data avaliable~"),
),
),
),
),
);
}
```