Commit 0e55277f authored by JoyJ's avatar JoyJ

finish: 瀑布流,修正page跳跃bug

parent d73aedd9
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
let nextPage = 1; let nextPage = 1;
//NextPage指示瀑布流下次应请求的limit数 //NextPage指示瀑布流下次应请求的limit数
let globalPageLimit = 20; let globalPageLimit = 20;
//若isEnd(已经没有新的结果了)则滚动到最底不再请求下一页的数据 //若isEnd(已经没有新的结果了)则暂停瀑布流请求
let isEnd = false; let isEnd = false;
// ----------------------------- // -----------------------------
...@@ -102,6 +102,7 @@ ...@@ -102,6 +102,7 @@
// console.log(data); // console.log(data);
if (!data.length) { if (!data.length) {
isEnd = true; isEnd = true;
isSearching = false;
toast.push('没有更多数据了捏~'); toast.push('没有更多数据了捏~');
return; return;
} }
...@@ -127,6 +128,8 @@ ...@@ -127,6 +128,8 @@
*/ */
function showList(data) { function showList(data) {
// List = [...List, ...data]; // List = [...List, ...data];
List = [];
window.scrollTo(0,0);
// <!-- FIXME: 暂时以这种略微丑陋的方式做切换动画, 可能这就是唯一方案了 --> // <!-- FIXME: 暂时以这种略微丑陋的方式做切换动画, 可能这就是唯一方案了 -->
setTimeout(() => { setTimeout(() => {
...@@ -138,11 +141,12 @@ ...@@ -138,11 +141,12 @@
/**渲染 & 更新视图 /**渲染 & 更新视图
* @param data JSON数据 * @param data JSON数据
*/ */
function appendList(data) { function appendList(data) {
showList([...List, ...data]); let newData = [...List, ...data];
List = [...newData];
isSearching = false;
} }
let lastSearchFunc = null;
let lastSearchType = ''; let lastSearchType = '';
let lastSearchParam = null; let lastSearchParam = null;
let isSearching = false; let isSearching = false;
...@@ -158,7 +162,7 @@ ...@@ -158,7 +162,7 @@
isSearching = true; isSearching = true;
isEnd = false; isEnd = false;
globalPageLimit = limit; globalPageLimit = limit;
nextPage = page + 1; nextPage = page;
lastSearchType = searchType; lastSearchType = searchType;
lastSearchParam = searchParam; lastSearchParam = searchParam;
...@@ -176,6 +180,8 @@ ...@@ -176,6 +180,8 @@
break; break;
} }
debugMessage(requestType(searchParam));
createFetch(requestType(searchParam), data => { createFetch(requestType(searchParam), data => {
debugMessage(data); debugMessage(data);
page == 1 ? showList(data) : appendList(data); page == 1 ? showList(data) : appendList(data);
...@@ -272,7 +278,7 @@ ...@@ -272,7 +278,7 @@
} }
}); });
// 初始化请求 -> 拉取全部条目 // 初始化请求 -> 拉取全部条目
searchDefault(); performSearch('','',globalPageLimit,1);
</script> </script>
<!-- ----------------------------------------------- DOM ----------------------------------------------- --> <!-- ----------------------------------------------- DOM ----------------------------------------------- -->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment