Rem*_*emi 5 reactjs material-ui
我正在使用dayjs在 js 中转换我的时间。
根据关于本地化的 material-ui-pickers页面,它给出了如何本地化日期选择器的示例。
但是没有运气尝试这个例子:
import React from "react";
import ReactDOM from "react-dom";
import {
KeyboardDatePicker,
MuiPickersUtilsProvider
} from "@material-ui/pickers";
// import dayjs from 'dayjs';
import "dayjs/locale/nl";
import DayjsUtils from "@date-io/dayjs";
import "./styles.css";
function App() {
return (
<div className="App">
<MuiPickersUtilsProvider utils={DayjsUtils} locale="nl">
<KeyboardDatePicker />
</MuiPickersUtilsProvider>
</div>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
Run Code Online (Sandbox Code Playgroud)
工作示例:https : //codesandbox.io/s/clever-field-2gzmf
我还尝试了通用dayjs 文档 I18n 中描述的一些方法,这似乎也不起作用。
有人知道出了什么问题吗?我觉得这是一件小事。
经过进一步调查,似乎我对 dayjs 的实现是错误的,或者存在错误。因为瞬间 JS 正在工作,正如这个活生生的例子所示:https : //codesandbox.io/s/young-snow-ejinu
但是,另一方面,Datepicker 的演示页面也在使用 moment 并且不起作用:https : //material-ui-pickers.dev/localization/moment
Luc*_*ões 22
请参阅我的组件示例,它与dayjs 的Locale一起工作正常。
import React from 'react';
import dayjs from 'dayjs';
import ptBR from 'dayjs/locale/pt-br';
import DayJsUtils from '@date-io/dayjs';
import {
MuiPickersUtilsProvider,
KeyboardTimePicker,
KeyboardDatePicker,
KeyboardDateTimePicker,
} from '@material-ui/pickers';
type DateTimeInputProps = {
label: string;
minDate?: Date;
maxDate?: Date;
};
export const DateTimeInput = (props: DateTimeInputProps & any): JSX.Element => {
const { label, minDate, maxDate, ...commomProps } = props;
return (
<MuiPickersUtilsProvider locale={ptBR} utils={DayJsUtils}>
<KeyboardDateTimePicker
autoOk
className="dateTimeModalPicker"
inputVariant="outlined"
label={label}
placeholder="ex: DD/MM/AAAA"
format="DD/MM/YYYY HH:mm"
ampm={false}
invalidDateMessage="Data em formato inválido."
minDate={minDate}
maxDate={maxDate}
minDateMessage={`A data deve ser maior que ${dayjs(minDate).format(
'DD/MM/YYYY',
)}.`}
maxDateMessage={`A data deve ser menor do que ${dayjs(maxDate).format(
'DD/MM/YYYY',
)}.`}
cancelLabel="Cancelar"
{...commomProps}
/>
</MuiPickersUtilsProvider>
);
};
Run Code Online (Sandbox Code Playgroud)
如果您使用 Date-Fns:
import DateFnsUtils from "@date-io/date-fns";
import { ptBR } from "date-fns/locale";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14238 次 |
| 最近记录: |