Commit e795f058 authored by skeyboy's avatar skeyboy

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

parent a712baa8
...@@ -7,26 +7,39 @@ import 'package:flutter_easyloading/flutter_easyloading.dart'; ...@@ -7,26 +7,39 @@ import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_vibrate/flutter_vibrate.dart'; import 'package:flutter_vibrate/flutter_vibrate.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:loading_animation_widget/loading_animation_widget.dart'; import 'package:loading_animation_widget/loading_animation_widget.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
class CreationController extends GetxController { class CreationController extends GetxController {
CreationController(); CreationController();
final count = 0.obs; final count = 0.obs;
final list = [].obs; final list = [].obs;
RxBool enablePullDown = true.obs;
RxBool enablePullUp = false.obs;
// RxList<Chat.ChatMessage> // RxList<Chat.ChatMessage>
_initData() async { _initData() async {
// ignore: invalid_use_of_protected_member // 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(); SelectAllEntity entity = await UserAPI.selectAll();
if (entity.status == 200) { if (entity.status == 200) {
// list.addAll(); // list.addAll();
if(entity.data?.isNotEmpty ?? false) {
list.clear();
list.addAll(entity.data!); list.addAll(entity.data!);
} }
} }
refreshController.refreshCompleted();
// update(["creation"]); // }
} }
final RefreshController refreshController = RefreshController();
void onTap(item) async { void onTap(item) async {
EasyLoading.show( EasyLoading.show(
status: "加载中", status: "加载中",
......
...@@ -6,6 +6,7 @@ import 'package:flutter_vibrate/flutter_vibrate.dart'; ...@@ -6,6 +6,7 @@ import 'package:flutter_vibrate/flutter_vibrate.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gradient_widgets/gradient_widgets.dart'; import 'package:gradient_widgets/gradient_widgets.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import '../index.dart'; import '../index.dart';
import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.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'; ...@@ -13,7 +14,7 @@ import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
class GridWidget extends GetView<CreationController> { class GridWidget extends GetView<CreationController> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return CustomScrollView( Widget customScrollView = CustomScrollView(
slivers: [ slivers: [
SliverPersistentHeader( SliverPersistentHeader(
pinned: true, //是否固定在顶部 pinned: true, //是否固定在顶部
...@@ -222,6 +223,13 @@ class GridWidget extends GetView<CreationController> { ...@@ -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( // return Container(
// alignment: Alignment.center, // 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