fix: 专辑分碟排序错误 (#1630)

* fix: 专辑分碟排序错误

* update
master
memorydream 3 years ago committed by GitHub
parent c3aea5ee8d
commit 6e1d58964e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -71,12 +71,12 @@
</div>
</div>
</div>
<div v-if="Object.keys(tracksByDisc).length !== 1">
<div v-for="(disc, cd) in tracksByDisc" :key="cd">
<h2 class="disc">Disc {{ cd }}</h2>
<div v-if="tracksByDisc.length > 1">
<div v-for="item in tracksByDisc" :key="item.disc">
<h2 class="disc">Disc {{ item.disc }}</h2>
<TrackList
:id="album.id"
:tracks="disc"
:tracks="item.tracks"
:type="'album'"
:album-object="album"
/>
@ -153,7 +153,7 @@ import locale from '@/locale';
import { splitSoundtrackAlbumTitle, splitAlbumTitle } from '@/utils/common';
import NProgress from 'nprogress';
import { isAccountLoggedIn } from '@/utils/auth';
import { groupBy } from 'lodash';
import { groupBy, toPairs, sortBy } from 'lodash';
import ExplicitSymbol from '@/components/ExplicitSymbol.vue';
import ButtonTwoTone from '@/components/ButtonTwoTone.vue';
@ -222,7 +222,12 @@ export default {
}
},
tracksByDisc() {
return groupBy(this.tracks, 'cd');
if (this.tracks.length <= 1) return [];
const pairs = toPairs(groupBy(this.tracks, 'cd'));
return sortBy(pairs, p => p[0]).map(items => ({
disc: items[0],
tracks: items[1],
}));
},
},
created() {

Loading…
Cancel
Save