ReactJS - Ant-Design v4 jalali(persian) 日期选择器问题

ReactJS - Ant-Design v4 jalali(persian) datepicker problem

我尝试了很多方法来更改 antd datepicker 中的语言环境,但我还是做不到。在 antd v3 中,我将语言环境更改为波斯语并使用 Jalali(太阳)日历,但在 antd v4 中,我做了一些方法,但只有不完整的翻译。

例如,当日期选择器为波斯语时,日期选择器中放置的日期为公历日期:۲۰۲۰/۱۰/۰۶

唯一的变化是月份的名称更改为星期日。就像“Mehr 2020”。日历日也是太阳日,但是当我点击 15 号时,例如,这个日期在日期选择器中被选中: 2020-10-06

代码:

import { DatePicker, ConfigProvider } from 'antd';
import "moment/locale/fa";
import moment from "moment";
import fa_IR from "antd/es/locale/fa_IR";
import locale from "antd/es/date-picker/locale/fa_IR";

<ConfigProvider locale={fa_IR}>
    <DatePicker locale={locale} defaultValue={moment()} />
</ConfigProvider>

我也用ant-design-jalali。在 webpack 配置中定义别名:

module.exports = {
  ...
  resolve: {
    modules: ['node_modules'],
    alias: {
      moment: path.resolve(__dirname, './node_modules/antd-jalali-moment') // -> this alias
    }
  },
  ...
};

我遇到了同样的问题,这对我有用:

先加antd-jalali next add day jalali js 之后将此行插入您的代码:

import 'moment/locale/fa';
import locale from 'antd/es/date-picker/locale/fa_IR';

并在 <DatePickerJalali {...props} locale={locale} />

中使用
import { DatePicker, ConfigProvider } from 'antd'; import "moment/locale/fa"; import moment from "moment"; import fa_IR from "antd/es/locale/fa_IR"; import locale from "antd/es/date-picker/locale/fa_IR"; <ConfigProvider locale={fa_IR}> <DatePicker locale={locale} defaultValue={moment()} /> </ConfigProvider>