Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 我们可以在不使用日期选择器的情况下,将材质UI选择器中的日历组件作为独立组件使用吗?如果可以,如何使用?_Reactjs_Datepicker_Calendar_Material Ui - Fatal编程技术网

Reactjs 我们可以在不使用日期选择器的情况下,将材质UI选择器中的日历组件作为独立组件使用吗?如果可以,如何使用?

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

我正在尝试开发一个日期选择器,将选择日、月和年作为值列表,但是我也希望使用日历功能(带有日期选择和图标),以便用户可以使用select标记中的值列表(dd-mm yyyy)或日历来选择日期

如何在不使用键盘日期选择器等的情况下将日历作为独立日历使用

我从这里进口了日历:

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…”请再阅读一次答案。您必须使用正确的导入方法,只需遵循本指南()。此日历可以用作事件计划程序和查看器,包括周、日和月。另外,它是否提供任何自定义样式?如果提供一个工作示例,将非常有帮助。文档页面上有一个工作示例。这里是一个纯代码沙盒,具有相同的代码