一、简介
在使用andv3时,明明在APP.vue文件配置了全局的语言-中文,但用到日期选择器等组件存在中英混合显示,或者纯英文的显示,与实际不符。以下是解决方案
二、解决方案
1、首先确然app.vue文件配置正确
<template>
<a-config-provider :locale="zhCN">
<router-view />
</a-config-provider>
</template>
<script setup lang="ts">
import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN';
import dayjs from 'dayjs';
import 'dayjs/locale/zh-cn';
dayjs.locale('zh-cn');
</script>
2、使用时
html代码:
<a-date-picker v-model:value="dateTest" valueFormat="YYYY-MM-DD"/>
js代码:
const dateTest = ref(dayjs().format('YYYY-MM-DD'))
3、引发中英文混合的原因可能是dayjs的版本存在冲突
使用 npm ls dayjs 查看
# npm ls dayjs
或者
# yarn list dayjs
+-- ant-design-vue@3.2.20
| `-- dayjs@1.11.7 deduped
`-- dayjs@1.11.10
会发现andv里面自带的版本和我们下载的dayjs版本不一致,这可能会导致中英混合,可以卸载其中一个重新下载依赖,以求版本一致,
或者在package-lock.json文件中搜索dayjs的版本,会发现存在多个版本情况,需统一成一个版本,把锁的版本全部修改成统一的一个版本后,最好删除整个node_modules文件重新下载依赖,最后以确保所以得dayjs依赖都是一个版本
重启项目-查询是否修改成功
如还是现在中英混合,则可以在官网上查看是否符合其他情况
DatePicker组件中英文显示不准确 · Issue #38692 · ant-design/ant-design · GitHub