antd-vue - - - - - a-config-provider全局配置中英文切换

项目需求如下:

根据浏览器配置的语言,切换antd-vue的语言模式

代码如下:

app.vue

html 复制代码
<template>
  <a-config-provider
    :locale="locale"
    :theme="{
      token: {
        // 修改主体色为红色
        colorPrimary: 'red',
      },
    }"
  >
    <router-view />
  </a-config-provider>
</template>

<script>
import zhCN from "ant-design-vue/lib/locale/zh_CN"; // 导入中文语言包
import enUS from "ant-design-vue/lib/locale/en_US"; // 导入英文语言包

import dayjs from "dayjs";
import "dayjs/locale/zh-cn";
dayjs.locale("zh-cn");

import { useStore } from "vuex";
import { onMounted, ref, watch } from "vue";

export default {
  name: "App",
  setup() {
    const store = useStore();

	// 简单写个映射
    const lanMaps = {
      en: enUS,
      "zh-CN": zhCN,
    };
    
    const locale = ref(lanMaps[store.state.language] || zhCN);
    
    watch(
      () => store.state.language,
      (v, o) => {
        locale.value = lanMaps[v];
      },
      { deep: true }
    );
    return {
      locale,
    };
  },
};
</script>
相关推荐
橙序员小站16 分钟前
Agent Skill 是什么?一文讲透 Agent Skill 的设计与实现
前端·后端
炫饭第一名3 小时前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员
王晓枫3 小时前
flutter接入三方库运行报错:Error running pod install
前端·flutter
符方昊3 小时前
React 19 对比 React 16 新特性解析
前端·react.js
ssshooter3 小时前
又被 Safari 差异坑了:textContent 拿到的值居然没换行?
前端
曲折3 小时前
Cesium-气象要素PNG色斑图叠加
前端·cesium
Forever7_3 小时前
Electron 淘汰!新的桌面端框架 更强大、更轻量化
前端·vue.js
不会敲代码14 小时前
前端组件化样式隔离实战:React CSS Modules、styled-components 与 Vue scoped 对比
css·vue.js·react.js
Angelial4 小时前
Vue3 嵌套路由 KeepAlive:动态缓存与反向配置方案
前端·vue.js
jiayu4 小时前
Angular学习笔记24:Angular 响应式表单 FormArray 与 FormGroup 相互嵌套
前端