【发布时间】:2021-12-20 21:56:28
【问题描述】:
我正在尝试创建一个日期选择器组件,但我无法将数据传递给 TextField 组件。
有没有什么方法可以通过 onChange 或者通过 renderInput 将 newValue 数据传递给 TextField?
这是我的代码:
import React from 'react'
import { Input, Box, Typography } from '@mui/material'
import { useField } from 'formik'
import LocalizationProvider from '@mui/lab/LocalizationProvider';
import DesktopDatePicker from '@mui/lab/DesktopDatePicker';
import TextField from '@mui/material/TextField';
import AdapterDateFns from '@mui/lab/AdapterDateFns';
import InputField from '../InputField';
const DateField = ({ label, ...props }) => {
// const [field, meta] = useField(props)
const [value, setValue] = React.useState(new Date('2021-12-25T21:11:54'));
const handleChange = (newValue) => {
setValue(newValue);
console.log(value)
};
return (
<LocalizationProvider dateAdapter={AdapterDateFns}>
<DesktopDatePicker
label="Date desktop"
inputFormat="MM/dd/yyyy"
value={value}
onChange={handleChange}
renderInput={() => <InputField name='date' />}
/>
</LocalizationProvider>
)
}
export default DateField
【问题讨论】:
-
你为什么不把
value作为道具传递? -
我试图以这种方式传递数据
renderInput={(value) => <InputField name='date' {...value}/>},但没有成功。我有一个项目的 github 仓库,你想看看吗?可以发在这里吗?
标签: reactjs material-ui use-state formik yup