Если я установлю type = "date" на TextField, я могу инициализировать его строкой.
https://codesandbox.io/s/9y6yz462op
const values = {
someDate: "2017-05-24"
};
function App() {
return (
<div className = "App">
<TextField
name = "someDate"
label = "Some Date"
InputLabelProps = {{ shrink: true, required: true }}
type = "date"
defaultValue = {values.someDate}
/>
</div>
);
}
Однако, когда я пытаюсь использовать текущую дату, используя объект даты
const values = {
someDate: new Date()
};
я получаю сообщение об ошибке
Warning: Failed prop type: Invalid prop `defaultValue` supplied to `TextField`.
Как передать дату в TextField?
@VikasYadav TextField имеет свойство defaultValue as, как вы можете видеть в документы
Ok. но я полагаю, что defaultValue имеет union: string | number в качестве опорного типа. Это не тип object.





Как вы можете прочитать в документы, defaultValue должен быть либо string, либо number. Тип Date не поддерживается.
Но поскольку вы используете type = "date", вы должны быть в порядке, передавая дату в виде строки.
например
const values = {
someDate: new Date().toISOString().substring(0, 10);
};
Возможно, потому что
defaultValueне являетсяpropкTextFieldв material-ui. Проверьте их документацию на наличие доступных реквизитов.