@@ -63,54 +51,51 @@
-
-
-
- {{ achievement.progress }}
+
+
+ {{ achievement.progress }}
+
+
+
+
+ mdi-circle
+
+
+
+
-
-
-
- mdi-circle
-
-
-
-
-
-
- {{ achievement.name }}
- v{{ achievement.version }}
-
- {{ achievement.description }}
-
- {{
- achievement.completedTime
- }}
-
-
-
- {{ achievement.reward }}
-
-
-
-
-
+
+ {{ achievement.name }}
+ v{{ achievement.version }}
+
+ {{ achievement.description }}
+
+
+
+
+ {{ achievement.completedTime }}
+
+
+

+
{{ achievement.reward }}
+
+
@@ -158,18 +143,6 @@ const renderSelect = computed(() => {
}
return selectedAchievement.value;
});
-const renderAchievement = computed(() => {
- return renderSelect.value.slice(start.value, start.value + itemCount.value + 1);
-});
-// virtual list
-const start = ref
(0);
-const itemCount = computed(() => {
- return Math.ceil((window.innerHeight - 100) / 76);
-});
-const emptyHeight = computed(() => {
- return renderSelect.value.length * 76;
-});
-const translateY = ref("0px");
// render
const search = ref("");
const hideFin = ref(false);
@@ -229,43 +202,6 @@ onMounted(async () => {
}
});
-function handleScroll(e: Event): void {
- const target: HTMLElement = e.target;
- // 如果 scrollTop 到底部了
- if (target.scrollTop + target.offsetHeight >= target.scrollHeight) {
- // 如果 selectedAchievement 的长度小于 itemCount,不进行偏移
- if (renderSelect.value.length <= itemCount.value) {
- window.requestAnimationFrame(() => {
- start.value = 0;
- translateY.value = "0px";
- });
- return;
- }
- window.requestAnimationFrame(() => {
- start.value = renderSelect.value.length - itemCount.value;
- translateY.value = `${(renderSelect.value.length - itemCount.value) * 76}px`;
- });
- return;
- }
- const scrollTop = target.scrollTop;
- if (selectedSeries.value !== 0 && selectedSeries.value !== 17 && selectedSeries.value !== -1) {
- window.requestAnimationFrame(() => {
- if (scrollTop < 86.8) {
- start.value = 0;
- translateY.value = "0px";
- } else {
- start.value = Math.floor((scrollTop - 86.8) / 76);
- translateY.value = `${scrollTop - 86.8}px`;
- }
- });
- } else {
- window.requestAnimationFrame(() => {
- start.value = Math.floor(scrollTop / 76);
- translateY.value = `${scrollTop}px`;
- });
- }
-}
-
// 渲染选中的成就系列
async function selectSeries(index: number): Promise {
// 如果选中的是已经选中的系列,则不进行操作
@@ -471,7 +407,7 @@ async function setAchi(
newAchievement.isCompleted = 0;
newAchievement.completedTime = "";
}
- renderAchievement.value[renderAchievement.value.findIndex((item) => item.id === achievement.id)] =
+ renderSelect.value[renderSelect.value.findIndex((item) => item.id === achievement.id)] =
newAchievement;
await setAchiDB(newAchievement);
await flushOverview();
@@ -503,7 +439,8 @@ async function getSeriesData(series?: number): Promise
-
+
+
+
+
+