bhd-components 0.7.22 → 0.7.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,8 +9,10 @@ const TeacherList = (props)=>{
9
9
  let { type , userData , http , urllocation , onClose , enterTeacherChat } = props;
10
10
  const [keyWordProblem, setKeyWordProblem] = useState(""); //搜索内容
11
11
  const [showLoadingState, setShowLoadingState] = useState(1); //1,初始状态,2、无数据 ,3、不显示图片
12
- const [totalData, setTotalData] = useState([]); //总数据
12
+ // const [totalData, setTotalData] = useState([]); //总数据
13
+ const [showTotalData, setShowTotalData] = useState([]); //总数据
13
14
  // const [teacher_list, setTeacher_list] = useState([]); //老师列表,有头像
15
+ const totalData = useRef([]);
14
16
  const teacher_list = useRef([]); //老师列表,有头像
15
17
  const timer = useRef(null); //文本框输入时
16
18
  const page = useRef(1);
@@ -27,7 +29,8 @@ const TeacherList = (props)=>{
27
29
  loading.current = false;
28
30
  // console.log('加载下一页');
29
31
  page.current = page.current + 1;
30
- getList(keyWordProblem);
32
+ getUserName();
33
+ // getList(keyWordProblem);
31
34
  }
32
35
  };
33
36
  // 添加滚轮事件监听器
@@ -47,24 +50,23 @@ const TeacherList = (props)=>{
47
50
  }, []);
48
51
  const getList = (val)=>{
49
52
  if (page.current == 1) {
50
- setTotalData([]);
53
+ // setTotalData([]);
54
+ totalData.current = [];
55
+ setShowTotalData([]);
51
56
  }
52
57
  http.get(`${urllocation}/chat-service/public/v1.0/teachers`, {
53
58
  params: {
54
59
  name: val,
55
60
  page: page.current,
56
- maxPageSize: 20
61
+ maxPageSize: 99
57
62
  }
58
63
  }).then((res)=>{
59
64
  console.log(res);
60
65
  if (res.data.total > 0) {
61
66
  loading.current = true;
62
67
  setShowLoadingState(3);
63
- let data = new Map();
64
- setTotalData((totalData)=>{
65
- return totalData.concat(res.data.teachers).filter((a)=>!data.has(a.uid) && data.set(a.uid, 1));
66
- });
67
- getUserName(res.data.teachers);
68
+ totalData.current = res.data.teachers;
69
+ getUserName();
68
70
  } else {
69
71
  loading.current = false;
70
72
  if (page.current == 1) {
@@ -73,9 +75,12 @@ const TeacherList = (props)=>{
73
75
  }
74
76
  });
75
77
  };
76
- const getUserName = (dataList)=>{
78
+ const getUserName = ()=>{
77
79
  try {
78
- let list = dataList;
80
+ // let list = dataList;
81
+ // console.log(totalData.current,4444444);
82
+ let showTotalData = totalData.current.slice((page.current - 1) * 20, page.current * 20);
83
+ let list = showTotalData;
79
84
  let ids = [];
80
85
  list = list.map((item)=>{
81
86
  if (!item.headImg && teacher_list.current.filter((v)=>v.uid == item.uid).length <= 0) {
@@ -86,8 +91,8 @@ const TeacherList = (props)=>{
86
91
  userName(ids.join(",")).then((res)=>{
87
92
  if (res.data) {
88
93
  let nameList = res.data;
89
- setTotalData((list1)=>{
90
- let list = list1;
94
+ setShowTotalData((list1)=>{
95
+ let list = showTotalData;
91
96
  list = list.map((item)=>{
92
97
  let name = nameList.filter((v)=>v.uid == item.uid);
93
98
  if (name.length > 0) {
@@ -104,14 +109,19 @@ const TeacherList = (props)=>{
104
109
  });
105
110
  let data = new Map();
106
111
  teacher_list.current = teacher_list.current.concat(list).filter((a)=>!data.has(a.uid) && data.set(a.uid, 1));
107
- return list;
112
+ if (showTotalData.length == 0) {
113
+ loading.current = false;
114
+ } else {
115
+ loading.current = true;
116
+ }
117
+ return list1.concat(list);
108
118
  });
109
119
  }
110
120
  });
111
121
  } else {
112
122
  let nameList = teacher_list.current;
113
- setTotalData((list1)=>{
114
- let list = list1;
123
+ setShowTotalData((list1)=>{
124
+ let list = showTotalData;
115
125
  list = list.map((item)=>{
116
126
  let name = nameList.filter((v)=>v.uid == item.uid);
117
127
  if (name.length > 0) {
@@ -120,7 +130,12 @@ const TeacherList = (props)=>{
120
130
  return item;
121
131
  }
122
132
  });
123
- return list;
133
+ if (showTotalData.length == 0) {
134
+ loading.current = false;
135
+ } else {
136
+ loading.current = true;
137
+ }
138
+ return list1.concat(list);
124
139
  });
125
140
  }
126
141
  } catch (error) {}
@@ -169,7 +184,8 @@ const TeacherList = (props)=>{
169
184
  clearTimeout(timer.current);
170
185
  timer.current = setTimeout(()=>{
171
186
  page.current = 1;
172
- setTotalData([]);
187
+ // setTotalData([]);
188
+ totalData.current = [];
173
189
  getList(val);
174
190
  }, 1000);
175
191
  }
@@ -179,7 +195,10 @@ const TeacherList = (props)=>{
179
195
  onClick: ()=>{
180
196
  setShowLoadingState(1);
181
197
  setKeyWordProblem("");
182
- setTotalData([]);
198
+ // setTotalData([]);
199
+ totalData.current = [];
200
+ page.current = 1;
201
+ getList('');
183
202
  },
184
203
  children: /*#__PURE__*/ _jsx(CustomClose, {})
185
204
  })
@@ -214,7 +233,7 @@ const TeacherList = (props)=>{
214
233
  /*#__PURE__*/ _jsx("div", {
215
234
  className: styles.list_item,
216
235
  ref: sliderRef,
217
- children: totalData.map((item)=>{
236
+ children: showTotalData.map((item)=>{
218
237
  let span = item.name.replaceAll(new RegExp(keyWordProblem, "ig"), (i)=>{
219
238
  return `<span class=${styles.sign}>${i}</span>`;
220
239
  });
@@ -10,8 +10,10 @@ var TeacherList = function(props) {
10
10
  var type = props.type, userData = props.userData, http = props.http, urllocation = props.urllocation, onClose = props.onClose, enterTeacherChat = props.enterTeacherChat;
11
11
  var _useState = _sliced_to_array(useState(""), 2), keyWordProblem = _useState[0], setKeyWordProblem = _useState[1]; //搜索内容
12
12
  var _useState1 = _sliced_to_array(useState(1), 2), showLoadingState = _useState1[0], setShowLoadingState = _useState1[1]; //1,初始状态,2、无数据 ,3、不显示图片
13
- var _useState2 = _sliced_to_array(useState([]), 2), totalData = _useState2[0], setTotalData = _useState2[1]; //总数据
13
+ // const [totalData, setTotalData] = useState([]); //总数据
14
+ var _useState2 = _sliced_to_array(useState([]), 2), showTotalData = _useState2[0], setShowTotalData = _useState2[1]; //总数据
14
15
  // const [teacher_list, setTeacher_list] = useState([]); //老师列表,有头像
16
+ var totalData = useRef([]);
15
17
  var teacher_list = useRef([]); //老师列表,有头像
16
18
  var timer = useRef(null); //文本框输入时
17
19
  var page = useRef(1);
@@ -28,7 +30,8 @@ var TeacherList = function(props) {
28
30
  loading.current = false;
29
31
  // console.log('加载下一页');
30
32
  page.current = page.current + 1;
31
- getList(keyWordProblem);
33
+ getUserName();
34
+ // getList(keyWordProblem);
32
35
  }
33
36
  };
34
37
  // 添加滚轮事件监听器
@@ -48,26 +51,23 @@ var TeacherList = function(props) {
48
51
  }, []);
49
52
  var getList = function(val) {
50
53
  if (page.current == 1) {
51
- setTotalData([]);
54
+ // setTotalData([]);
55
+ totalData.current = [];
56
+ setShowTotalData([]);
52
57
  }
53
58
  http.get("".concat(urllocation, "/chat-service/public/v1.0/teachers"), {
54
59
  params: {
55
60
  name: val,
56
61
  page: page.current,
57
- maxPageSize: 20
62
+ maxPageSize: 99
58
63
  }
59
64
  }).then(function(res) {
60
65
  console.log(res);
61
66
  if (res.data.total > 0) {
62
67
  loading.current = true;
63
68
  setShowLoadingState(3);
64
- var data = new Map();
65
- setTotalData(function(totalData) {
66
- return totalData.concat(res.data.teachers).filter(function(a) {
67
- return !data.has(a.uid) && data.set(a.uid, 1);
68
- });
69
- });
70
- getUserName(res.data.teachers);
69
+ totalData.current = res.data.teachers;
70
+ getUserName();
71
71
  } else {
72
72
  loading.current = false;
73
73
  if (page.current == 1) {
@@ -76,9 +76,12 @@ var TeacherList = function(props) {
76
76
  }
77
77
  });
78
78
  };
79
- var getUserName = function(dataList) {
79
+ var getUserName = function() {
80
80
  try {
81
- var list = dataList;
81
+ // let list = dataList;
82
+ // console.log(totalData.current,4444444);
83
+ var showTotalData = totalData.current.slice((page.current - 1) * 20, page.current * 20);
84
+ var list = showTotalData;
82
85
  var ids = [];
83
86
  list = list.map(function(item) {
84
87
  if (!item.headImg && teacher_list.current.filter(function(v) {
@@ -91,8 +94,8 @@ var TeacherList = function(props) {
91
94
  userName(ids.join(",")).then(function(res) {
92
95
  if (res.data) {
93
96
  var nameList = res.data;
94
- setTotalData(function(list1) {
95
- var list = list1;
97
+ setShowTotalData(function(list1) {
98
+ var list = showTotalData;
96
99
  list = list.map(function(item) {
97
100
  var name = nameList.filter(function(v) {
98
101
  return v.uid == item.uid;
@@ -115,14 +118,19 @@ var TeacherList = function(props) {
115
118
  teacher_list.current = teacher_list.current.concat(list).filter(function(a) {
116
119
  return !data.has(a.uid) && data.set(a.uid, 1);
117
120
  });
118
- return list;
121
+ if (showTotalData.length == 0) {
122
+ loading.current = false;
123
+ } else {
124
+ loading.current = true;
125
+ }
126
+ return list1.concat(list);
119
127
  });
120
128
  }
121
129
  });
122
130
  } else {
123
131
  var nameList = teacher_list.current;
124
- setTotalData(function(list1) {
125
- var list = list1;
132
+ setShowTotalData(function(list1) {
133
+ var list = showTotalData;
126
134
  list = list.map(function(item) {
127
135
  var name = nameList.filter(function(v) {
128
136
  return v.uid == item.uid;
@@ -133,7 +141,12 @@ var TeacherList = function(props) {
133
141
  return item;
134
142
  }
135
143
  });
136
- return list;
144
+ if (showTotalData.length == 0) {
145
+ loading.current = false;
146
+ } else {
147
+ loading.current = true;
148
+ }
149
+ return list1.concat(list);
137
150
  });
138
151
  }
139
152
  } catch (error) {}
@@ -184,7 +197,8 @@ var TeacherList = function(props) {
184
197
  clearTimeout(timer.current);
185
198
  timer.current = setTimeout(function() {
186
199
  page.current = 1;
187
- setTotalData([]);
200
+ // setTotalData([]);
201
+ totalData.current = [];
188
202
  getList(val);
189
203
  }, 1000);
190
204
  }
@@ -194,7 +208,10 @@ var TeacherList = function(props) {
194
208
  onClick: function() {
195
209
  setShowLoadingState(1);
196
210
  setKeyWordProblem("");
197
- setTotalData([]);
211
+ // setTotalData([]);
212
+ totalData.current = [];
213
+ page.current = 1;
214
+ getList("");
198
215
  },
199
216
  children: /*#__PURE__*/ _jsx(CustomClose, {})
200
217
  })
@@ -229,7 +246,7 @@ var TeacherList = function(props) {
229
246
  /*#__PURE__*/ _jsx("div", {
230
247
  className: styles.list_item,
231
248
  ref: sliderRef,
232
- children: totalData.map(function(item) {
249
+ children: showTotalData.map(function(item) {
233
250
  var span = item.name.replaceAll(new RegExp(keyWordProblem, "ig"), function(i) {
234
251
  return "<span class=".concat(styles.sign, ">").concat(i, "</span>");
235
252
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bhd-components",
3
- "version": "0.7.22",
3
+ "version": "0.7.23",
4
4
  "description": "组件功能描述",
5
5
  "files": [
6
6
  "esm",