From afaa8b7d0b58d4dbf33ef319ac8d08149d0b8a6d Mon Sep 17 00:00:00 2001 From: Netfan Date: Fri, 10 Jan 2025 14:04:55 +0800 Subject: [PATCH] fix: locale switch logic --- packages/effects/layouts/src/basic/layout.vue | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/effects/layouts/src/basic/layout.vue b/packages/effects/layouts/src/basic/layout.vue index 502c421319c..1fb90448f42 100644 --- a/packages/effects/layouts/src/basic/layout.vue +++ b/packages/effects/layouts/src/basic/layout.vue @@ -6,7 +6,7 @@ import type { MenuRecordRaw } from '@vben/types'; import { computed, useSlots, watch } from 'vue'; import { useRefresh } from '@vben/hooks'; -import { $t } from '@vben/locales'; +import { $t, i18n } from '@vben/locales'; import { preferences, updatePreferences, @@ -163,7 +163,8 @@ watch( ); // 语言更新后,刷新页面 -watch(() => preferences.app.locale, refresh, { flush: 'post' }); +// i18n.global.locale会在preference.app.locale变更之后才会更新,因此watchpreference.app.locale是不合适的,刷新页面时可能语言配置尚未完全加载完成 +watch(i18n.global.locale, refresh, { flush: 'post' }); const slots: SetupContext['slots'] = useSlots(); const headerSlots = computed(() => {