From f107d65b6e80afb1ea52ba1023d6ae27fd0a422b Mon Sep 17 00:00:00 2001 From: zzh <1368735060@qq.com> Date: Wed, 22 Jul 2026 11:06:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20CustomLeftMenu=20=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E9=A1=B9=E5=90=8E=E4=B8=8D=E5=86=8D=E8=AF=AF=E9=87=8D=E7=BD=AE?= =?UTF-8?q?=E5=88=B0=E7=AC=AC=E4=B8=80=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 仅在搜索、pageSize 或条目总数变化时重置分页,避免 mapCount 等字段更新触发 treeData 重建导致跳页。 --- src/components/CustomLeftMenu/index.vue | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/components/CustomLeftMenu/index.vue b/src/components/CustomLeftMenu/index.vue index d8844da..006a960 100644 --- a/src/components/CustomLeftMenu/index.vue +++ b/src/components/CustomLeftMenu/index.vue @@ -194,12 +194,25 @@ }, ); watch( - () => [props.treeData, props.searchKeyword, props.pageSize], + () => props.searchKeyword, () => { - innerCurrentPage.value = 1; - emit('update:currentPage', 1); + setCurrentPage(1); + }, + ); + watch( + () => props.pageSize, + () => { + setCurrentPage(1); + }, + ); + /** 条目数变化(搜索过滤、增删类型)时才回到第一页;节点字段更新(如 mapCount)不重置 */ + watch( + () => paginateEntries.value.length, + (len, prevLen) => { + if (prevLen !== undefined && len !== prevLen) { + setCurrentPage(1); + } }, - { deep: true }, ); watch( () => paginationMeta.value.totalPages,