From 80394271def1205a0257107970a9887ac07d9f8b Mon Sep 17 00:00:00 2001 From: xiaosi <2652281683@qq.com> Date: Wed, 2 Sep 2026 17:07:54 +0800 Subject: [PATCH] fix: clear media lists when switching tabs Drop cached liveStreams/videos on same-route tab changes and reload fresh list data so stale live center cards do not linger. --- src/views/MediaView/MediaView.vue | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/views/MediaView/MediaView.vue b/src/views/MediaView/MediaView.vue index 82ac953..58e970a 100644 --- a/src/views/MediaView/MediaView.vue +++ b/src/views/MediaView/MediaView.vue @@ -269,16 +269,20 @@ async function download(v) { } } -// 同路由 tab 切换不会卸载组件;离开直播中心时必须清播放态/心跳/viewer lease +// 同路由 tab 切换不会卸载组件:离开时清会话/列表缓存,进入时重新拉 list watch(view, async (next, prev) => { - if (prev === 'live' && next !== 'live') { + if (!prev || next === prev) return + + if (prev === 'live') { openSeq += 1 await closeActiveLive() - return + liveStreams.value = [] } - if (next === 'live' && prev && prev !== 'live') { - await load() + if (prev === 'videos') { + videos.value = [] } + + await load() }) onMounted(load)