1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- 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<PageTwo>
- with AutomaticKeepAliveClientMixin<PageTwo>, SingleTickerProviderStateMixin {
- List<String> _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;
- }
|