我有一个名为 cur_traveller 的对象,它位于 TravellerModel 对象内。当我在 Passportdetails 组件的渲染方法中编辑记录时,我已在控制台中记录了整个 cur_traveller 对象,并且在下一行中我记录了 cur_traveller.passport_expiry_date。
这是link控制台的
正如您所看到的,旅行者对象具有名为 Passport_expiry_date 的属性,但是当我访问它时,它在控制台中给我 null 。
这是我记录这些的渲染方法。
render() {
let data = TravellerModel.cur_traveller
console.log("Traveller Object", TravellerModel.cur_traveller)
console.log("Passport Expiry date in Traveller Object", TravellerModel.cur_traveller.passport_expiry_date)
let styles = Style.basic_details_styles
return (
<div style={styles.row}>
<div style={styles.form_control}>
<div>
<TextField
inputProps={{
maxLength: 8
}}
disabled={TravellerModel.disabled('passport_number')}
label="Number"
value={data.passport_number ? data.passport_number : ""}
onChange={e => {
TravellerModel.handle_input("passport_number", e.target.value);
this.update()
}}
/>
<div>
</div>
<Typography color="error" variant='caption'>
{TravellerModel.show_error('passport_number') ? PersonValidation.passport_number_errors(PersonValidation.passport_number().index) : null}
</Typography>
</div>
</div>
<div style={styles.form_control}>
<div>
<MuiPickersUtilsProvider utils={DateFnsUtils}>
<DatePicker
disabled={TravellerModel.disabled('passport_issue_date')}
format="dd/MM/yyyy"
disableFuture
autoOk
onChange={date => {
TravellerModel.handle_input("passport_issue_date", date);
this.update()
}}
value={data.passport_issue_date}
label="Issue Date"
placeholder="Issue Date"
/>
</MuiPickersUtilsProvider>
</div>
<div>
<Typography color="error" variant='caption'>
{TravellerModel.show_error('passport_issue_date') ? PersonValidation.passport_issue_date_errors(PersonValidation.passport_issue_date().index) : null}
</Typography>
</div>
</div>
<div style={styles.form_control}>
<div>
<MuiPickersUtilsProvider utils={DateFnsUtils}>
<DatePicker
disabled={TravellerModel.disabled('passport_expiry_date')}
disablePast
format="dd/MM/yyyy"
autoOk
onChange={date => {
TravellerModel.handle_input("passport_expiry_date", date);
this.update()
}}
value={data.passport_expiry_date}
label="Expiry Date"
placeholder="Expiry Date"
/>
</MuiPickersUtilsProvider>
</div>
<div>
<Typography color="error" variant='caption'>
{TravellerModel.show_error('passport_expiry_date') ? PersonValidation.passport_expiry_date_errors(PersonValidation.passport_expiry_date().index) : null}
</Typography>
</div>
</div>
</div>
)
}
有人可以解释一下为什么即使我们可以在日志中看到一个值,我也会得到 null 吗?
最佳答案
new date(null) 初始化为 1970 年 1 月 1 日。因此,在您的情况下,它给出 null,因为日期值是默认值 null。
检查此了解更多 Why new Date(null) is returning this: Date 1970-01-01T00:00:00.000Z?
关于javascript - 为什么日期对象中有值时显示为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58352875/