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>
相关推荐
聚美智数23 分钟前
企业实际控制人查询-公司实控人查询
android·java·javascript
SoaringHeart41 分钟前
Flutter进阶:用OverlayEntry 实现所有弹窗效果
前端·flutter
IT_陈寒3 小时前
Vite静态资源加载把我坑惨了
前端·人工智能·后端
herinspace3 小时前
管家婆实用贴-如何分离和附加数据库
开发语言·前端·javascript·数据库·语音识别
小码哥_常3 小时前
从MVC到MVI:一文吃透架构模式进化史
前端
嗷o嗷o3 小时前
Android BLE 的 notify 和 indicate 到底有什么区别
前端
豹哥学前端3 小时前
别再背“var 提升,let/const 不提升”了:揭开暂时性死区的真实面目
前端·面试
Lkstar3 小时前
我把Vue2响应式源码从头到尾啃了一遍,这是整理笔记
vue.js
lar_slw4 小时前
k8s部署前端项目
前端·容器·kubernetes
这里不能睡觉4 小时前
js 实现 Blob、File、ArrayBuffer、base64、URL 之间互转
javascript