This commit is contained in:
zilong
2021-11-06 12:07:41 +08:00
parent f0e5ea4363
commit d70bf6738e
6 changed files with 63 additions and 27 deletions

View File

@@ -32,9 +32,8 @@ const snap = {
page: 1,
pageSize: 50,
},
...getSnap()?.other,
...getSnap(),
};
console.log(snap);
const Songlist = defineAsyncComponent(() =>
import("@/components/Songlist.vue")
@@ -72,6 +71,7 @@ watch(
() => [props.keywords, type.value, page.value, pageSize.value],
([k, t]) => {
keywords.value = k;
// console.log('Searching...', keywords.value, type.value, page.value, pageSize.value);
search();
}
// { immediate: true }
@@ -81,9 +81,14 @@ onMounted(() => {
search();
});
let firstTime = true;
// let firstTime = true;
// onActivated(()=>{
// console.log('actived---------');
// firstTime = true
// })
const search = () => {
// console.log('Searching...', keywords.value, type.value, page.value, pageSize.value);
switch (type.value) {
case 10:
things.value = "专辑";
@@ -147,13 +152,10 @@ const search = () => {
if (page.value > maxPage) page.value = maxPage;
if (page.value < 1) page.value = 1;
if (firstTime) {
setTimeout(() => {
console.log(getScrollTop());
elWp.value.scrollTop = getScrollTop();
}, 100);
firstTime = false;
} else elWp.value.scrollTop = 0;
setTimeout(() => {
console.log(getScrollTop());
elWp.value.scrollTop = getScrollTop();
}, 50);
saveSnap({
type: type.value,
@@ -194,6 +196,11 @@ const click = () => {
console.log(elWp.value.scrollTop);
window.history.pushState(null, null);
};
const pageChange = (p) => {
page.value = p;
saveSnap({ scrollTop: 0 });
};
</script>
<template>
@@ -231,35 +238,50 @@ const click = () => {
<span
class="caption"
:style="selStyle('10')"
@click="type = 10;page=1;"
@click="
type = 10;
page = 1;
"
>
专辑
</span>
<span
class="caption"
:style="selStyle('1000')"
@click="type = 1000;page=1;"
@click="
type = 1000;
page = 1;
"
>
歌单
</span>
<span
class="caption"
:style="selStyle('1009')"
@click="type = 1009;page=1;"
@click="
type = 1009;
page = 1;
"
>
电台
</span>
<span
class="caption"
:style="selStyle('1004')"
@click="type = 1004;page=1;"
@click="
type = 1004;
page = 1;
"
>
MV
</span>
<span
class="caption"
:style="selStyle('1014')"
@click="type = 1014;page=1;"
@click="
type = 1014;
page = 1;
"
>
视频
</span>
@@ -298,9 +320,10 @@ const click = () => {
<div class="panel" v-show="type == 1000"></div>
</div>
<div class="pager">
<NPagination
<NPagination v-show="count>0"
v-model:page="page"
:page-count="Math.ceil(count / pageSize)"
:on-update:page="pageChange"
/>
</div>
</div>