mirror of
https://github.com/nagisa77/OpenIsle.git
synced 2026-02-20 14:00:56 +08:00
feat: 完成的排序在前面
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="achievements-list">
|
||||
<div
|
||||
v-for="medal in props.medals"
|
||||
v-for="medal in sortedMedals"
|
||||
:key="medal.type"
|
||||
class="achievements-list-item"
|
||||
>
|
||||
@@ -25,13 +25,23 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
defineProps({
|
||||
import { computed } from 'vue'
|
||||
|
||||
const props = defineProps({
|
||||
medals: {
|
||||
type: Array,
|
||||
required: true,
|
||||
default: () => []
|
||||
}
|
||||
})
|
||||
|
||||
const sortedMedals = computed(() => {
|
||||
return [...props.medals].sort((a, b) => {
|
||||
if (a.completed === b.completed) return 0
|
||||
return a.completed ? -1 : 1
|
||||
})
|
||||
})
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -472,18 +472,16 @@ export default {
|
||||
|
||||
onMounted(init)
|
||||
|
||||
const achievementsLoaded = ref(false)
|
||||
|
||||
watch(selectedTab, async val => {
|
||||
if (val === 'timeline' && timelineItems.value.length === 0) {
|
||||
await loadTimeline()
|
||||
} else if (val === 'following' && followers.value.length === 0 && followings.value.length === 0) {
|
||||
await loadFollow()
|
||||
} else if (val === 'achievements' && !achievementsLoaded.value) {
|
||||
} else if (val === 'achievements' && medals.value.length === 0) {
|
||||
await loadAchievements()
|
||||
achievementsLoaded.value = true
|
||||
}
|
||||
})
|
||||
|
||||
return {
|
||||
user,
|
||||
hotPosts,
|
||||
|
||||
Reference in New Issue
Block a user