From bacd2999f632b18b49cc9577382fb079b4db36b8 Mon Sep 17 00:00:00 2001 From: Gene Date: Thu, 16 Jan 2025 14:04:33 +0800 Subject: [PATCH] fix: fix the error of routing bar caused by invalid pageid (#1045) --- .../canvas/route-bar/src/CanvasRouteBar.vue | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/packages/canvas/route-bar/src/CanvasRouteBar.vue b/packages/canvas/route-bar/src/CanvasRouteBar.vue index 62e3c4ae5..ca6c7c9d9 100644 --- a/packages/canvas/route-bar/src/CanvasRouteBar.vue +++ b/packages/canvas/route-bar/src/CanvasRouteBar.vue @@ -65,16 +65,20 @@ watch( } const ancestors = (await getAncestors(value, true)) || [] - routes.value = ancestors.concat(value).map((id) => { - const { route, isPage } = pageSettingState.treeDataMapping[id] - return { - id, - route: route - .replace(/\/+/g, '/') // 替换连续的 '/' 为单个 '/' - .replace(/^\/|\/$/g, ''), // 去掉开头和结尾的 '/' - isPage - } - }) + routes.value = ancestors + .concat(value) + .map((id) => pageSettingState.treeDataMapping[id]) + .filter((item) => Boolean(item)) + .map((pageData) => { + const { id, route, isPage } = pageData + return { + id, + route: route + .replace(/\/+/g, '/') // 替换连续的 '/' 为单个 '/' + .replace(/^\/|\/$/g, ''), // 去掉开头和结尾的 '/' + isPage + } + }) }, { immediate: true } )