Просмотр исходного кода

fix: fix refresh not working properly (close #229)

JustSong 2 лет назад
Родитель
Сommit
9ec6506c32
3 измененных файлов с 8 добавлено и 8 удалено
  1. 4 4
      web/src/components/ChannelsTable.js
  2. 1 1
      web/src/components/LogsTable.js
  3. 3 3
      web/src/components/TokensTable.js

+ 4 - 4
web/src/components/ChannelsTable.js

@@ -60,8 +60,8 @@ const ChannelsTable = () => {
       if (startIdx === 0) {
       if (startIdx === 0) {
         setChannels(data);
         setChannels(data);
       } else {
       } else {
-        let newChannels = channels;
-        newChannels.push(...data);
+        let newChannels = [...channels];
+        newChannels.splice(startIdx * ITEMS_PER_PAGE, data.length, ...data);
         setChannels(newChannels);
         setChannels(newChannels);
       }
       }
     } else {
     } else {
@@ -82,7 +82,7 @@ const ChannelsTable = () => {
 
 
   const refresh = async () => {
   const refresh = async () => {
     setLoading(true);
     setLoading(true);
-    await loadChannels(0);
+    await loadChannels(activePage - 1);
   };
   };
 
 
   useEffect(() => {
   useEffect(() => {
@@ -240,7 +240,7 @@ const ChannelsTable = () => {
     if (channels.length === 0) return;
     if (channels.length === 0) return;
     setLoading(true);
     setLoading(true);
     let sortedChannels = [...channels];
     let sortedChannels = [...channels];
-    if (typeof sortedChannels[0][key] === 'string'){
+    if (typeof sortedChannels[0][key] === 'string') {
       sortedChannels.sort((a, b) => {
       sortedChannels.sort((a, b) => {
         return ('' + a[key]).localeCompare(b[key]);
         return ('' + a[key]).localeCompare(b[key]);
       });
       });

+ 1 - 1
web/src/components/LogsTable.js

@@ -108,7 +108,7 @@ const LogsTable = () => {
         setLogs(data);
         setLogs(data);
       } else {
       } else {
         let newLogs = [...logs];
         let newLogs = [...logs];
-        newLogs.push(...data);
+        newLogs.splice(startIdx * ITEMS_PER_PAGE, data.length, ...data);
         setLogs(newLogs);
         setLogs(newLogs);
       }
       }
     } else {
     } else {

+ 3 - 3
web/src/components/TokensTable.js

@@ -45,8 +45,8 @@ const TokensTable = () => {
       if (startIdx === 0) {
       if (startIdx === 0) {
         setTokens(data);
         setTokens(data);
       } else {
       } else {
-        let newTokens = tokens;
-        newTokens.push(...data);
+        let newTokens = [...tokens];
+        newTokens.splice(startIdx * ITEMS_PER_PAGE, data.length, ...data);
         setTokens(newTokens);
         setTokens(newTokens);
       }
       }
     } else {
     } else {
@@ -67,7 +67,7 @@ const TokensTable = () => {
 
 
   const refresh = async () => {
   const refresh = async () => {
     setLoading(true);
     setLoading(true);
-    await loadTokens(0);
+    await loadTokens(activePage - 1);
   }
   }
 
 
   useEffect(() => {
   useEffect(() => {