react 使用antd的日期选择框中文失效,只有年为中文, 其他为英文 。

环境:

antd: 版本 4.22.4

react:版本 18.2.0 

                                                         报错截图:

从 antd 引入的 DatePicker 日期选择框,按照国际化配置,全局的引入中文包,但是生效的 只有年是中文,而其它的文字全为英文。

import dayjs from 'dayjs';
import 'dayjs/locale/zh-cn';
import locale from 'antd/locale/zh_CN';



<ConfigProvider locale={locale}>
  <DatePicker defaultValue={dayjs('2015-01-01', 'YYYY-MM-DD')} />
</ConfigProvider>;

尝试去引入单个中文配置引入,结果还是无效。结果和上面的一样。

网上查了半天,还是没有解决这个问题,本来想通过升级 antd 的版本到 v5 考虑到会影响到当前的项目样式所以没有采纳,后面通过引入 node_modules/moment 的中文包才解决这个问题。

解决方法如下:

在你的全局配置环境中,引入 moment 的配置文件

该文件在 node_modules下面,如果没有 moment 文件可以自己导入即可 npm install moment

全 ~~~~局

1.引入配置文件

import zhCN from 'antd/lib/locale/zh_CN'
import 'moment/dist/locale/zh-cn'

2.配置参数

<ConfigProvider locale={zhCN }>
     <DatePicker/>
</ConfigProvider>;

单~~~~个

1.当前代码中引入配置文件

import zhCN from 'antd/lib/locale/zh_CN'
import 'moment/dist/locale/zh-cn'

2.配置参数 

<DatePicker  locale={zhCN} />

在 react 中可能有报错 红色波浪线。不影响中文包引入,正常翻译。

                                                              结果图:

猜你喜欢

转载自blog.csdn.net/youyudehan/article/details/129283574