message_left_page.dart
2.4 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
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:one_key/provider/message_dialog_model.dart';
import 'package:one_key/provider/message_model.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:provider/provider.dart';
import 'package:one_key/utils/event_bus.dart';
import 'message_dialog_item.dart';
class MessageLeftPage extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return new MessageLeftPageState();
}
}
class MessageLeftPageState extends State<MessageLeftPage> {
EasyRefreshController _controller;
@override
void initState() {
// TODO: implement initState
super.initState();
bus.on("remove_untreated_message",(args){
MessageModel messageModel=Provider.of<MessageModel>(context,listen: false);
messageModel.removeUntreatedMessageByMid(args.toString());
MessageDialogModel messageDialogModel=Provider.of<MessageDialogModel>(context,listen: false);
messageDialogModel.removeMessage(args.toString());
});
_controller=EasyRefreshController();
WidgetsBinding.instance.addPostFrameCallback((_){
getUntreatedMessage();
});
}
//获取未处理在线预订消息
getUntreatedMessage(){
UserModel userModel=Provider.of<UserModel>(context,listen: false);
Map<String,String> params={
"sid":userModel.user.sellerid,
"type_id":"10",
"status":"0",
"offset":"0",
"limit":"100",
};
MessageModel messageModel=Provider.of<MessageModel>(context,listen: false);
messageModel.getUntreatedMsg(context, params);
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return Selector<MessageModel,List>(
selector: (context,model)=>model.untreatedMsgs,
builder: (context,messages,child){
return EasyRefresh.custom(
controller: _controller,
slivers: [
SliverList(
delegate:
SliverChildBuilderDelegate((BuildContext context, int index) {
return MessageDialogItem(messages[index]);
},childCount: messages.length),
)
],onRefresh: () async {
getUntreatedMessage();
},);
},
);
}
@override
void dispose() {
// TODO: implement dispose
super.dispose();
bus.off("remove_untreated_message");
}
}