|
|
@@ -210,6 +210,7 @@ const handleDemoVideo = () => {
|
|
|
window.open(href, '_blank')
|
|
|
}
|
|
|
|
|
|
+const languagePopoverVisible = ref(false)
|
|
|
const langValue = ref()
|
|
|
const languageList = ref([
|
|
|
{
|
|
|
@@ -242,13 +243,17 @@ const { locale } = useI18n() // 解构出 locale
|
|
|
langValue.value = localStorage.getItem('lang') || 'English'
|
|
|
const languageChange = async (item) => {
|
|
|
userManualLoading.value = true
|
|
|
- langValue.value = item.label
|
|
|
- const targetLocale = resolveLocaleByLangLabel(item.value)
|
|
|
- localStorage.setItem('lang', item.label)
|
|
|
- console.log(targetLocale, 'value')
|
|
|
- await switchAppLocale(targetLocale)
|
|
|
- locale.value = targetLocale
|
|
|
- userManualLoading.value = false
|
|
|
+ try {
|
|
|
+ langValue.value = item.label
|
|
|
+ const targetLocale = resolveLocaleByLangLabel(item.value)
|
|
|
+ localStorage.setItem('lang', item.label)
|
|
|
+ await switchAppLocale(targetLocale)
|
|
|
+ locale.value = targetLocale
|
|
|
+ } finally {
|
|
|
+ window.location.reload()
|
|
|
+ userManualLoading.value = false
|
|
|
+ languagePopoverVisible.value = false
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
@@ -374,6 +379,7 @@ const languageChange = async (item) => {
|
|
|
:width="256"
|
|
|
trigger="click"
|
|
|
popper-class="user-config-popover"
|
|
|
+ v-model:visible="languagePopoverVisible"
|
|
|
>
|
|
|
<div class="options">
|
|
|
<div
|