解决Ant Design Vue 日期选择器中文不生效

现象

在src/app.vue全局注册了中文:

TypeScript 复制代码
<script setup>
import dayjs from 'dayjs';
import 'dayjs/locale/zh-cn';

dayjs.locale(zhCN.locale);
</script>

在picker.vue里引入<a-date-picker picker="month" placeholder="选择月份">,面板仍然出现英文:

临时解决方案

在a-date-picker增加locale变量

html 复制代码
<a-date-picker picker="month" placeholder="选择月份"
    v-model:value="monthDate" :locale="datePickerLocale" />
TypeScript 复制代码
<script>
import zhCN from 'ant-design-vue/es/date-picker/locale/zh_CN';

const datePickerLocale = {
    ...zhCN,
    lang: {
        ...zhCN.lang,
        monthFormat: 'M月',
        shortMonths: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
    },
};

export default {
  data() {
    return { datePickerLocale }
  }

}
<script>

根本原因

这个项目装了两个dayjs:

TypeScript 复制代码
c@xx:~/project/frontend$ npm ls dayjs
frontend@1.0.0 /home/c/project/frontend
├─┬ ant-design-vue@4.2.6
│ └── dayjs@1.11.20
└── dayjs@1.11.19

我回想这个项目的安装顺序,ant-design-vue是因为切换UI库才装的,碰巧项目已经在用dayjs并且yarn.lock已经有dayjs@1.11.19,碰巧装ant-design-vue时dayjs更新到1.11.20,所以装了两个dayjs。而我在app.vue注册中文用的是dayjs@1.11.19,ant-design-vue用dayjs@1.11.20没有注册中文,所以才没生效。

解决办法

在 package.json 加 resolutions:

"resolutions": {

"dayjs": "1.11.20"

}

TypeScript 复制代码
c@xx:~/project/frontend$ npm ls dayjs
frontend@1.0.0 /home/c/frontend
├─┬ ant-design-vue@4.2.6
│ └── dayjs@1.11.20 deduped
└── dayjs@1.11.20
相关推荐
sbjdhjd6 小时前
Redis 主从复制、哨兵高可用与 Cluster 集群部署实验手册
运维·前端·redis·云原生·开源·bootstrap·html
乐兮创想 小林6 小时前
企业官网移动端性能优化实战:从 Core Web Vitals 到图片/CDN/响应式的工程清单
前端·性能优化·网站建设·北京网站建设公司
疯狂SQL6 小时前
JWT 在线解码、验签、生成一篇讲透:附前端实现、工具架构与在线体验地址
javascript·jwt·编解码·jwt测试
前端一小卒6 小时前
不手写代码的第 30 天,我才明白前端这个岗位还剩什么
前端·javascript·ai编程
Ajie'Blog7 小时前
Copilot Agent Tasks API 开放:AI 编程开始进入后台任务时代
服务器·前端·javascript·人工智能·copilot·ai编程
老毛肚7 小时前
jeecgboot vue TS & 模板化 04
前端·javascript·vue.js
晓13137 小时前
【Cocos Creator 2.x】篇——第二章 入门
javascript·游戏引擎
AI_零食8 小时前
鸿蒙PC Electron跨平台应用开发:24时区时间表应用详解
前端·华为·electron·开源·harmonyos·鸿蒙
Electrolux9 小时前
[onlyoffice-v9]纯前端怎么实现编辑预览office
前端·javascript·github
VidDown9 小时前
Webhook 调试器:让第三方回调“原形毕露”
java·开发语言·javascript·编辑器·postman