材料 UI 选取器 - 贾拉利日历问题



我在我的反应应用程序中使用材料-UI选择器,我很难让Jalali日历示例工作。 我正在使用的软件包的版本是:

"@date-io/jalaali": "^1.3.13",
"@date-io/moment": "^1.3.13",
"@material-ui/core": "^4.8.3",
"@material-ui/icons": "^4.5.1",
"@material-ui/pickers": "^3.2.8",
"moment": "^2.24.0",
"moment-jalaali": "^0.9.1",
"react": "^16.12.0",
"react-scripts": "3.3.0",
"react-dom": "^16.12.0",

对于 DatePicker,错误TypeError: utils.getDayText is not a function,对于 TimePicker,TypeError: utils.getHourText is not a function错误,对于 DateTimePicker,错误TypeError: utils.getYearText is not a function 。 我试图更改某些软件包的版本,但没有任何反应。

编辑:

我发现问题是<MuiPickersUtilsProvider utils={JalaliUtils} locale="fa">中的JalaliUtils,但仍然找不到解决方案。

import moment from "moment";
import jMoment from "moment-jalaali";
import React, { useState } from "react";
import JalaliUtils from "@date-io/jalaali";
import {
DatePicker,
MuiPickersUtilsProvider,
} from "@material-ui/pickers";
jMoment.loadPersian({ dialect: "persian-modern", usePersianDigits: true });
function PersianExample() {
const [selectedDate, handleDateChange] = useState(moment());
return (
<MuiPickersUtilsProvider utils={JalaliUtils} locale="fa">
<DatePicker
clearable
okLabel="تأیید"
cancelLabel="لغو"
clearLabel="پاک کردن"
labelFunc={date => (date ? date.format("jYYYY/jMM/jDD") : "")}
value={selectedDate}
onChange={handleDateChange}
/>
</MuiPickersUtilsProvider>
);
}
export default PersianExample;

奇怪的是,现在的示例使用的是"@date-io/jalaali":"^1.3.12" 但是,这两个版本之间没有严重差异。谢谢亚历克斯的沙盒。

最新更新