index.dart 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import 'package:flutter/material.dart';
  2. import 'package:get/get.dart';
  3. import 'package:farmer_client/pages/infomation/widgets/Information/index.dart';
  4. import 'package:farmer_client/widgets/RefreshMoreList.dart';
  5. import 'package:farmer_client/widgets/layout/BasicPage.dart';
  6. import 'package:farmer_client/models/entities/NewsInformationModel.dart';
  7. import 'package:farmer_client/services/news.dart';
  8. class Infomation extends BasicPage {
  9. Infomation({Key? key}) : super(key: key) {
  10. tabIndex = 2;
  11. naviTitle = '资讯';
  12. }
  13. final newsList = Rx<List<NewsInformationModel>>([]);
  14. final params = Rx<Map<String, dynamic>>({'pageSize': 10});
  15. Function? Refresh;
  16. List<NewsInformationModel> GetList(value) {
  17. List<NewsInformationModel> list = [];
  18. if (value != null)
  19. value.forEach((item) => {list.add(NewsInformationModel.fromJson(item))});
  20. return list;
  21. }
  22. @override
  23. Widget builder(BuildContext context) {
  24. return RefreshMoreList(
  25. pPrams: params,
  26. cardText: '暂无资讯',
  27. fetch: getNewsList,
  28. useState: (state) {
  29. newsList(GetList(state));
  30. },
  31. builder: ({required BuildContext context, required Function toggle}) {
  32. Refresh = toggle;
  33. return Obx(
  34. () => Column(
  35. children: newsList.value
  36. .map(
  37. (item) => Information(item: item),
  38. )
  39. .toList(),
  40. ),
  41. );
  42. },
  43. );
  44. }
  45. }