coupon_history_page.dart
3.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/pages/coupon/coupon_item.dart';
import 'package:one_key/provider/coupon_provider.dart';
import 'package:one_key/widgets/page_exception.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:provider/provider.dart';
/**
* 历史券
*/
class CouponHistoryPage extends StatefulWidget {
CouponHistoryPage({Key key}) : super(key: key);
@override
_CouponHistoryPageState createState() => _CouponHistoryPageState();
}
class _CouponHistoryPageState extends State<CouponHistoryPage> {
EasyRefreshController _controller = EasyRefreshController();
CouponProvider couponProvider;
///获取优惠券列表数据
_couponNetworkData() {
return Future.delayed(Duration(seconds: 1),
() => couponProvider.pageStateHistory = PageState.Success);
}
@override
void initState() {
// TODO: implement initState
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) {
_couponNetworkData();
});
}
@override
Widget build(BuildContext context) {
couponProvider = Provider.of<CouponProvider>(context, listen: true);
return Scaffold(
appBar: SystemAppBar(
' 历史券',
onTap: () {
Navigator.of(context).pop();
},
),
body: Consumer<CouponProvider>(
builder: (context, model, _) {
if (model.pageStateHistory != PageState.Success) {
return ExceptionPage(
pageState: model.pageState,
callback: () {
// offset = 0;
// getMessage(showLoading: true);
},
emptyMsg: "暂时没有列表信息哦",
emptyImg: "empty_search",
showMsg: "加载中,请稍后...",
);
} else {
return EasyRefresh.custom(
controller: _controller,
slivers: [
SliverList(
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {
return CouponItem(
index: index,
couponProvider: couponProvider,
onPressed: () {
couponProvider.swichStateData[index] =
!couponProvider.swichStateData[index];
couponProvider.notifyListeners();
},
);
}, childCount: couponProvider.swichStateData.length),
)
],
onRefresh: () async {
// offset = 0;
// getMessage(showLoading: false);
},
onLoad: () async {
// offset++;
// getMessage(showLoading: false);
},
);
}
},
));
}
}