diff --git a/src/views/TasksView/TasksView.vue b/src/views/TasksView/TasksView.vue index 677457c..afb6067 100644 --- a/src/views/TasksView/TasksView.vue +++ b/src/views/TasksView/TasksView.vue @@ -390,11 +390,24 @@ const recordColumns = [ watch( () => route.query.view, - (v) => { if (v) view.value = v } + (v) => { + if (v && v !== view.value) view.value = String(v) + }, ) +// tab 切换只改 query 时组件不重建,需主动刷新列表 +watch(view, (v, prev) => { + if (!v || v === prev) return + const next = String(v) + if (route.query.view !== next) { + router.push({ name: 'tasks', query: { view: next } }) + } + load() +}) + function setView(v) { - router.push({ name: 'tasks', query: { view: v } }) + if (v == null || v === '') return + view.value = String(v) } const TASK_STATUS = {