[英]How to format get and format Date in DatePicker in Material UI React
[英]ReactJS - How to use DatePicker from Material UI with Firestore? Timestamp to Date format
日期在数据库中记录正常,但是当我显示时,DatePicker不会从数据库重新配置日期,因为它与时间戳(秒和纳秒)相似。
<DatePicker
margin="normal"
label="Data do pedido"
fullWidth
value={
form.datapedido
}
onChange={handleChangeData}
variant="filled"
style={{ marginTop: 0 }}
/>
如果我更改DatePicker的值以使Timestamp为Date,那么我无法保存日期,因为代码将尝试将Date更改为Date。
如果我这样离开,那么我可以保存日期但是当我从firestore加载日期时,我从DatePicker获得“无效日期”
Firestore 时间戳包括一个toDate
方法,您可以使用该方法将日期转换为javascript Date对象,假设您的组件需要Date对象。
因此,假设form.datapedido
是Timestamp
对象:
<DatePicker
margin="normal"
label="Data do pedido"
fullWidth
value={
form.datapedido.toDate()
}
onChange={handleChangeData}
variant="filled"
style={{ marginTop: 0 }}
/>
当你想要更新你的选择器时(加载初始值之后),你会发现一个挑战。
这可能很有用:
const formatDate = (date) => isNil(date.seconds)
? date // Already a javascript date object
: date.toDate()
<DatePicker
margin="normal"
label="Data do pedido"
fullWidth
value={
formatDate(form.datapedido)
}
onChange={handleChangeData}
variant="filled"
style={{ marginTop: 0 }}
/>
这可能会起作用或给你一个起点,我不熟悉DatePicker
组件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.