import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:ftrecruiter/comm/widget/my_refresh_list.dart'; import 'package:ftrecruiter/local/theme/theme_config.dart'; //Demo列表2,单纯的使用StatefulWidget的方式 可以保存状态了,但是无法使用GetX和GetBuild的功能了 class PageTwo extends StatefulWidget { @override _GoodsListPageState createState() => _GoodsListPageState(); } class _GoodsListPageState extends State with AutomaticKeepAliveClientMixin, SingleTickerProviderStateMixin { List _list = []; int _page = 1; final int _maxPage = 10; Future _onRefresh() async { await Future.delayed(const Duration(seconds: 2), () { setState(() { _page = 1; _list = List.generate(10, (index) => "1234"); }); }); } Future _loadMore() async { await Future.delayed(const Duration(seconds: 2), () { setState(() { _list.addAll(List.generate(10, (i) => "4567")); _page++; }); }); } @override void initState() { super.initState(); _onRefresh(); } @override Widget build(BuildContext context) { return MyRefreshListView( itemCount: _list.length, hasMore: _page < _maxPage, onRefresh: _onRefresh, loadMore: _loadMore, itemBuilder: (_, index) { return Container( margin: const EdgeInsets.only(top: 10.0), width: double.infinity, height: 100, color: Colors.lightGreen, child: Row( children: [ Text("我是列表Item:$index"), ], ), ); }, ); } @override bool get wantKeepAlive => true; }