Reactjs 我们可以在不使用日期选择器的情况下,将材质UI选择器中的日历组件作为独立组件使用吗?如果可以,如何使用?
我正在尝试开发一个日期选择器,将选择日、月和年作为值列表,但是我也希望使用日历功能(带有日期选择和图标),以便用户可以使用select标记中的值列表(dd-mm yyyy)或日历来选择日期 如何在不使用键盘日期选择器等的情况下将日历作为独立日历使用 我从这里进口了日历:Reactjs 我们可以在不使用日期选择器的情况下,将材质UI选择器中的日历组件作为独立组件使用吗?如果可以,如何使用?,reactjs,datepicker,calendar,material-ui,Reactjs,Datepicker,Calendar,Material Ui,我正在尝试开发一个日期选择器,将选择日、月和年作为值列表,但是我也希望使用日历功能(带有日期选择和图标),以便用户可以使用select标记中的值列表(dd-mm yyyy)或日历来选择日期 如何在不使用键盘日期选择器等的情况下将日历作为独立日历使用 我从这里进口了日历: import { Calendar } from '@material-ui/pickers/views/Calendar/Calendar'; 使用它如下所示: <MuiPickersUtilsProvider ut
import { Calendar } from '@material-ui/pickers/views/Calendar/Calendar';
使用它如下所示:
<MuiPickersUtilsProvider utils={DateFnsUtils}>
<Calendar date={date} {...props} />
</MuiPickersUtilsProvider>
util上下文没有正确地传递到日历组件-我是否遗漏了一些明显的内容?是的,您的问题实际上来自导入 进口如
从'@material ui/pickers'导入{Calendar}
完全不同于
从'@material ui/pickers/views/Calendar/Calendar'导入{Calendar};
您需要以与导入MuiPickersUtilsProvider
相同的方式导入日历。然后可以访问UTIL,您可以使用日历。这是官方文件:它可以工作
import React, { useState } from "react";
import { Paper } from "@material-ui/core";
import DateFnsUtils from '@date-io/date-fns';
import { MuiPickersUtilsProvider, Calendar } from "@material-ui/pickers";
import ruLocale from "date-fns/locale/ru";
import { MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles';
import green from '@material-ui/core/colors/green';
const theme = createMuiTheme({
palette: {
primary: { light: green[300], main: green[500], dark: green[700] },
},
});
function MyCalendar() {
const [selectedDate, setSelectedDate] = useState(new Date());
const handleDateChange = (date) => {
setSelectedDate(date);
};
return (
<MuiThemeProvider theme={theme}>
<MuiPickersUtilsProvider utils={DateFnsUtils} locale={ruLocale}>
<Paper style={{ overflow: "hidden" }}>
<Calendar
date={selectedDate}
onChange={handleDateChange}
/>
</Paper>
</MuiPickersUtilsProvider>
</MuiThemeProvider>
);
}
export default MyCalendar;
import React,{useState}来自“React”;
从“@material ui/core”导入{Paper}”;
从“@date io/date fns”导入DateFnsUtils;
从“@material ui/pickers”导入{MuiPickersUtilsProvider,Calendar}”;
从“日期fns/locale/ru”导入ruLocale;
从'@material ui/core/styles'导入{MuiThemeProvider,createMuiTheme};
从“@material ui/core/colors/green”导入绿色;
const theme=createMuiTheme({
调色板:{
主:{浅:绿色[300],主:绿色[500],深:绿色[700]},
},
});
函数MyCalendar(){
const[selectedDate,setSelectedDate]=useState(新日期());
const handleDateChange=(日期)=>{
设置选定日期(日期);
};
返回(
);
}
导出默认MyCalendar;
我只是想在这段代码中使用日历,但它引发了一个错误“在上下文中找不到UTIL…”请再阅读一次答案。您必须使用正确的导入方法,只需遵循本指南()。此日历可以用作事件计划程序和查看器,包括周、日和月。另外,它是否提供任何自定义样式?如果提供一个工作示例,将非常有帮助。文档页面上有一个工作示例。这里是一个纯代码沙盒,具有相同的代码