lo7*_*lo7 2 typescript reactjs material-ui
我正在使用TextFieldfrom material-ui,我想在 TextField 中显示当前日期,并允许用户选择另一个日期。如果可能的话?
使用时不会value={date}出现在 中。我试图在互联网上寻找一些帮助,但找不到任何东西。代码如下:TextFieldtype="date"
import React, { useState } from 'react';
import { TextField } from '@material-ui/core';
import { useForm } from 'react-hook-form';
export const AddDate: React.FC = () => {
const [date, setDate] = useState(
new Date().getDate() + '/' + (new Date().getMonth() + 1) + '/' + new Date().getFullYear(),
);
// handles when user changes input in date inputfield
const handleChangeDate = (e: React.ChangeEvent<HTMLInputElement>): void => {
setDate(e.target.value);
};
return(
{/*Text field - date*/}
<TextField
name="date"
id="date"
label="Date"
type="date"
InputLabelProps={{ shrink: true }}
inputRef={register}
value={date}
onChange={handleChangeDate}
fullWidth
required
/>
);
};
Run Code Online (Sandbox Code Playgroud)
小智 6
这对我有用。
import React, { useState, useEffect } from "react";
import { TextField } from "@material-ui/core";
import "./styles.css";
import moment from 'moment';
const App =()=> {
const [date, setDate] = useState(
moment(new Date()).format("YYYY-MM-DD")
);
// handles when user changes input in date inputfield
const handleChangeDate = e => {
setDate(e.target.value);
};
console.log(date)
return (
<>
<TextField
name="date"
id="date"
label="Date"
type="date"
InputLabelProps={{ shrink: true }}
value={date}
onChange={handleChangeDate}
fullWidth
required
/>
</>
);
}
export default App;
Run Code Online (Sandbox Code Playgroud)
我只是稍微改变了你的代码。唯一的变化来自 useState。你只需要使用moment js将日期转换为material-ui日期类型。
| 归档时间: |
|
| 查看次数: |
6110 次 |
| 最近记录: |