From fa818a020f4fa52ca39d76ee8cc2eca3a075e562 Mon Sep 17 00:00:00 2001 From: chengww Date: Sun, 17 May 2026 20:46:47 +0800 Subject: [PATCH] =?UTF-8?q?fix(player):=20=E5=8F=8C=E5=87=BB=E6=AD=8C?= =?UTF-8?q?=E6=9B=B2=E6=97=B6=E5=90=8C=E6=AD=A5=E8=AE=BE=E7=BD=AE=E6=92=AD?= =?UTF-8?q?=E6=94=BE=E5=88=97=E8=A1=A8=E4=B8=8A=E4=B8=8B=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BaseSongItem 双击和右键菜单"播放"只调了 setPlay,未 emit 'play', 导致父组件 setPlayList 不会执行,上下一首切换失效。抽出统一入口 先 emit 再触发播放,与点击播放按钮行为对齐。 --- .../components/common/songItemCom/BaseSongItem.vue | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/renderer/components/common/songItemCom/BaseSongItem.vue b/src/renderer/components/common/songItemCom/BaseSongItem.vue index 9689c4b..f37f620 100644 --- a/src/renderer/components/common/songItemCom/BaseSongItem.vue +++ b/src/renderer/components/common/songItemCom/BaseSongItem.vue @@ -4,7 +4,7 @@ @contextmenu.prevent="handleContextMenu" @mouseenter="handleMouseEnter" @mouseleave="handleMouseLeave" - @dblclick.stop="playMusicEvent(item)" + @dblclick.stop="handlePlay(item)" > @@ -22,7 +22,7 @@ :is-dislike="isDislike" :can-remove="canRemove" @update:show="showDropdown = $event" - @play="playMusicEvent(item)" + @play="handlePlay(item)" @play-next="handlePlayNext" @download="downloadMusic(item)" @download-lyric="downloadLyric(item)" @@ -83,6 +83,12 @@ const imageLoad = async (event: Event) => { await handleImageLoad(target); }; +// 双击和右键菜单"播放"统一入口:先通知父组件设置播放列表上下文,再触发播放 +const handlePlay = (song: SongResult) => { + emits('play', song); + playMusicEvent(song); +}; + // 切换选择状态 const toggleSelect = () => { emits('select', props.item.id, !props.selected);