javascript - 为什么日期对象中有值时显示为空?

标签 javascript reactjs

我有一个名为 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/

相关文章:

reactjs - 如何在屏幕尺寸发生变化时添加或删除类名

javascript - 设置状态(...): This usually means you called set state() on an unmounted component

javascript - JavaScript 文件名中的 ?v=something 是什么意思?

Javascript 正则表达式模式捕获 - 所有可能的组合

javascript - 你如何放大到一个特定的点(没有 Canvas )?

reactjs - 如何声明Set()类型的状态变量?

node.js - 如何在 Reactjs 中加密请求负载

javascript - 使用 jquery 验证插件进行多案例验证

javascript - 在 HTML Canvas 上禁用右键单击上下文菜单?

reactjs - react 清理功能不清理状态