Commit e795f058 authored by skeyboy's avatar skeyboy

为创作tab增加下拉刷新提升体验

parent a712baa8
......@@ -7,26 +7,39 @@ import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_vibrate/flutter_vibrate.dart';
import 'package:get/get.dart';
import 'package:loading_animation_widget/loading_animation_widget.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
class CreationController extends GetxController {
CreationController();
final count = 0.obs;
final list = [].obs;
RxBool enablePullDown = true.obs;
RxBool enablePullUp = false.obs;
// RxList<Chat.ChatMessage>
_initData() async {
// ignore: invalid_use_of_protected_member
if (list.value.isEmpty) {
onRefresh();
// update(["creation"]);
}
/// 刷新数据
Future<void> onRefresh() async {
// if (list.value.isEmpty) {
SelectAllEntity entity = await UserAPI.selectAll();
if (entity.status == 200) {
// list.addAll();
list.addAll(entity.data!);
if(entity.data?.isNotEmpty ?? false) {
list.clear();
list.addAll(entity.data!);
}
}
}
// update(["creation"]);
refreshController.refreshCompleted();
// }
}
final RefreshController refreshController = RefreshController();
void onTap(item) async {
EasyLoading.show(
status: "加载中",
......
......@@ -6,6 +6,7 @@ import 'package:flutter_vibrate/flutter_vibrate.dart';
import 'package:get/get.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gradient_widgets/gradient_widgets.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import '../index.dart';
import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
......@@ -13,7 +14,7 @@ import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
class GridWidget extends GetView<CreationController> {
@override
Widget build(BuildContext context) {
return CustomScrollView(
Widget customScrollView = CustomScrollView(
slivers: [
SliverPersistentHeader(
pinned: true, //是否固定在顶部
......@@ -222,6 +223,13 @@ class GridWidget extends GetView<CreationController> {
// )
],
);
return Obx(() => SmartRefresher(
enablePullDown: controller.enablePullDown.value,
enablePullUp: controller.enablePullUp.value,
onRefresh: controller.onRefresh,
controller: controller.refreshController,
child: customScrollView,
));
// return Container(
// alignment: Alignment.center,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment