Commit 0e55277f authored by JoyJ's avatar JoyJ

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

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