import 'package:farmer_client/pages/infomation/widgets/Information/index.dart'; import 'package:farmer_client/widgets/layout/BasicPage.dart'; import 'package:flutter/material.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_easyrefresh/easy_refresh.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:get/get_rx/src/rx_types/rx_types.dart'; import 'package:get/get_state_manager/get_state_manager.dart'; import '../../models/entities/NewsInformationModel.dart'; import '../../services/news.dart'; import '../../widgets/NullCard.dart'; class Infomation extends BasicPage { // List newsListItem=[]; Infomation({Key? key}) : super(key: key) { tabIndex = 2; naviTitle = '资讯'; } EasyRefreshController _controller = EasyRefreshController(); final newsListItem = Rx>([]); final addNewOrderList = Rx>([]); var pageIndex = 1; //页数 var count = 10; //每页10条 late int maxSum; //最多条数 int _count = 0; Map params = {'pageNum': 1}; @override void beforeShow() { // TODO: implement beforeShow super.beforeShow(); // EasyLoading.show(status: '数据加载中...'); // // getNewsList(params).then((value) { // final list = []; // // value['records'].forEach((item) { // list.add(NewsInformationModel.fromJson(item)); // print('newsListItem'); // // print(newsListItem.value); // }); // newsListItem.value = list; // EasyLoading.dismiss(); // // }); } void getNewData() { pageIndex = 1; params['pageNum'] = pageIndex; print(params['pageNum']); getNewsList(params).then((value) { maxSum = value['total']; List list = []; value['records'].forEach((item) { list.add(NewsInformationModel.fromJson(item)); }); newsListItem(list); addNewOrderList(list); _count = newsListItem.value.length; }); } void getMoreData() { pageIndex++; params['pageNum'] = pageIndex; print(params['pageNum']); getNewsList(params).then((value) { maxSum = value['total']; List list = []; List Newlist = []; value['records'].forEach((item) { list.add(NewsInformationModel.fromJson(item)); }); addNewOrderList.value.addAll(list); Newlist.addAll(addNewOrderList.value); newsListItem(Newlist); _count = newsListItem.value.length; }); } @override Widget builder(BuildContext context) { return EasyRefresh( controller: _controller, firstRefresh: true, onRefresh: () async { await Future.delayed(Duration(seconds: 1), () { print("下拉刷新-----"); getNewData(); _controller.resetLoadState(); }); }, onLoad: () async { await Future.delayed(Duration(seconds: 1), () { if (_count == maxSum) { Fluttertoast.showToast(msg: '暂无更多资讯哦'); } else { getMoreData(); } _controller.finishLoad(noMore: _count >= maxSum); }); }, child: Obx( () => newsListItem.value.length > 0 ? Column( mainAxisSize: MainAxisSize.min, children: newsListItem.value .map((item) => Information(item: item)) .toList(), ): NullCard(text: '暂无资讯!'), ), ); // Container( // child: Obx(() => Column( // mainAxisSize: MainAxisSize.min, // children: newsListItem.value // .map((item) => Information( // item: item, // )) // .toList(), // ))); } }