新增“双击列表里的歌曲时自动切换到当前列表播放”设置

This commit is contained in:
lyswhut
2022-02-10 12:48:01 +08:00
parent 748a420b64
commit 8e5b144f00
10 changed files with 35 additions and 14 deletions
+11 -3
View File
@@ -16,6 +16,7 @@
<material-online-list
ref="songList"
@show-menu="hideListsMenu"
@play-list="handlePlayList"
@toggle-page="handleGetList"
:rowWidth="{r1: '5%', r2: 'auto', r3: '22%', r4: '22%', r5: '9%', r6: '15%'}"
:page="page"
@@ -219,13 +220,13 @@ export default {
sourceListId: `board__${boardId}`,
})
},
async playSongListDetail({ boardId, id }) {
async playSongListDetail({ boardId, id, index = 0 }) {
let isPlayingList = false
const list = this.tabId == boardId ? [...this.list] : null
if (list?.length) {
this.setTempList({
list,
index: 0,
index,
id,
})
isPlayingList = true
@@ -242,11 +243,18 @@ export default {
} else {
this.setTempList({
list: fullList,
index: 0,
index,
id,
})
}
},
handlePlayList(index) {
this.playSongListDetail({
boardId: this.tabId,
id: `board__${this.source}__${this.tabId}`,
index,
})
},
},
}
</script>
@@ -5,6 +5,8 @@ dd
base-checkbox(id="setting_list_showSource_enable" v-model="currentStting.list.isShowSource" :label="$t('setting__list_source')")
.gap-top
base-checkbox(id="setting_list_scroll_enable" v-model="currentStting.list.isSaveScrollLocation" :label="$t('setting__list_scroll')")
.gap-top
base-checkbox(id="setting_list_clickAction_enable" v-model="currentStting.list.isClickPlayList" :label="$t('setting__list_click_action')")
dd(:tips="$t('setting__basic_sourcename_title')")
h3#list_addMusicLocationType {{$t('setting__list_add_music_location_type')}}
div
+4 -4
View File
@@ -14,7 +14,7 @@ div(:class="$style.container")
base-btn(:class="$style.headerRightBtn" :disabled="detailLoading" @click="playSongListDetail") {{$t('list__play')}}
base-btn(:class="$style.headerRightBtn" :disabled="detailLoading" @click="addSongListDetail") {{$t('list__collect')}}
base-btn(:class="$style.headerRightBtn" @click="hideListDetail") {{$t('back')}}
material-online-list(ref="songList" @toggle-page="handleToggleListDetailPage" :page="listDetail.page" :limit="listDetail.limit" :total="listDetail.total"
material-online-list(ref="songList" @play-list="playSongListDetail" @toggle-page="handleToggleListDetailPage" :page="listDetail.page" :limit="listDetail.limit" :total="listDetail.total"
:list="listDetail.list" :noItem="isGetDetailFailed ? $t('list__load_failed') : $t('list__loading')")
transition(enter-active-class="animated-fast fadeIn" leave-active-class="animated-fast fadeOut")
div(:class="$style.songListContainer" v-show="!isVisibleListDetail")
@@ -315,14 +315,14 @@ export default {
sourceListId: this.listDetail.id,
})
},
async playSongListDetail() {
async playSongListDetail(index = 0) {
if (!this.listDetail.info.name) return
const id = `${this.listDetail.source}__${this.listDetail.id}`
let isPlayingList = false
if (this.listDetail.list?.length) {
this.setTempList({
list: [...this.listDetail.list],
index: 0,
index,
id,
})
isPlayingList = true
@@ -339,7 +339,7 @@ export default {
} else {
this.setTempList({
list,
index: 0,
index,
id,
})
}