|
@@ -14,7 +14,7 @@ export default React.forwardRef((props, ref) => {
|
14
|
14
|
onDataChange,
|
15
|
15
|
noData,
|
16
|
16
|
className,
|
17
|
|
- refres,//刷新复位
|
|
17
|
+ refresOff,//刷新复位
|
18
|
18
|
refresherEnabled,
|
19
|
19
|
...leftProps
|
20
|
20
|
} = props
|
|
@@ -35,12 +35,44 @@ export default React.forwardRef((props, ref) => {
|
35
|
35
|
setForceUpdate(forceUpdate + 1)
|
36
|
36
|
}
|
37
|
37
|
}
|
|
38
|
+ //下拉刷新回弹结束
|
|
39
|
+ const listPullDown = () => refresOff()
|
38
|
40
|
|
39
|
|
- const loadingOff = () => {
|
40
|
|
- refres()
|
|
41
|
+ const fetchList = () => {
|
|
42
|
+ if (!request) return;
|
|
43
|
+
|
|
44
|
+ setLoading(true)
|
|
45
|
+ request({
|
|
46
|
+ ...params,
|
|
47
|
+ pageSize,
|
|
48
|
+ pageNum: pageRef.current.current
|
|
49
|
+ }).then((res) => {
|
|
50
|
+ const { records, ...pageInfo } = res || {}
|
|
51
|
+
|
|
52
|
+ const lst = pageInfo.current === 1 ? records || [] : list.concat(records || [])
|
|
53
|
+ setList(lst)
|
|
54
|
+ setHasMore(pageInfo.current < pageInfo.pages)
|
|
55
|
+
|
|
56
|
+ if (onDataChange) {
|
|
57
|
+ onDataChange(lst, { paramsChanged: pageInfo.current === 1 })
|
|
58
|
+ }
|
|
59
|
+
|
|
60
|
+ pageRef.current = pageInfo
|
|
61
|
+ setLoading(false)
|
|
62
|
+
|
|
63
|
+ }).catch((err) => {
|
|
64
|
+
|
|
65
|
+ console.error(err)
|
|
66
|
+ setLoading(false)
|
|
67
|
+
|
|
68
|
+ if (onError) {
|
|
69
|
+ onError(err)
|
|
70
|
+ }
|
|
71
|
+ })
|
41
|
72
|
}
|
42
|
73
|
|
43
|
|
- const fetchList = () => {
|
|
74
|
+ //刷新的请求
|
|
75
|
+ const getList = () => {
|
44
|
76
|
if (!request) return;
|
45
|
77
|
|
46
|
78
|
setLoading(true)
|
|
@@ -50,6 +82,7 @@ export default React.forwardRef((props, ref) => {
|
50
|
82
|
pageNum: pageRef.current.current
|
51
|
83
|
}).then((res) => {
|
52
|
84
|
const { records, ...pageInfo } = res || {}
|
|
85
|
+
|
53
|
86
|
const lst = pageInfo.current === 1 ? records || [] : list.concat(records || [])
|
54
|
87
|
setList(lst)
|
55
|
88
|
setHasMore(pageInfo.current < pageInfo.pages)
|
|
@@ -59,9 +92,13 @@ export default React.forwardRef((props, ref) => {
|
59
|
92
|
}
|
60
|
93
|
|
61
|
94
|
pageRef.current = pageInfo
|
|
95
|
+ listPullDown()
|
|
96
|
+
|
62
|
97
|
setLoading(false)
|
63
|
98
|
|
64
|
99
|
}).catch((err) => {
|
|
100
|
+ Taro.stopPullDownRefresh()
|
|
101
|
+
|
65
|
102
|
console.error(err)
|
66
|
103
|
setLoading(false)
|
67
|
104
|
|
|
@@ -107,8 +144,7 @@ export default React.forwardRef((props, ref) => {
|
107
|
144
|
scrollY
|
108
|
145
|
enhanced
|
109
|
146
|
refresherEnabled={refresherEnabled}
|
110
|
|
-
|
111
|
|
- onRefresherrefresh={fetchRef.current = fetchList}
|
|
147
|
+ onRefresherrefresh={getList}
|
112
|
148
|
onScrollToLower={handleScrollToLower}
|
113
|
149
|
className={`${className} ${uqCls} list-view`}
|
114
|
150
|
>
|