反应日期选择器抛出无效的时间值
React datepicker throwing invalid time value
我在使用 react-datepicker 时有一个 React 表单,当我尝试填充来自数据库的日期字段的值时,我得到了无效时间值错误。
我尝试了几种时间格式,但都无济于事。下面是我的解决方案。
<DatePicker
className="createMeditation-input"
onChange={d => this.handleDateChange(d)}
selected={data.publishedDate}
autoComplete="off"
placeholderText="Please select a publish date"
id="DatePicker"
dateFormat="MMMM dd, yyyy"
disabled={uncontrolledFormState ? true : false}
/>
所选道具中的发布日期值为2020-12-31T23:00:00.000Z
问题似乎与日期格式有关,但我不知道选择的格式会接受什么。如果我的问题足够清楚,请告诉我。
希望您使用的是 this 日期选择器库中的日期选择器。
DatePicker 的 selected
属性似乎接受 Date 实例而不是 ISO 字符串。
尝试在将日期字符串传递给 prop 时将其转换为日期。
const selectedDate = new Date(data.publishedDate)
<DatePicker
className="createMeditation-input"
onChange={d => this.handleDateChange(d)}
selected={selectedDate}
autoComplete="off"
placeholderText="Please select a publish date"
id="DatePicker"
dateFormat="MMMM dd, yyyy"
disabled={uncontrolledFormState ? true : false}
/>
问题不是 100% 清楚,因为我不知道你是怎么做的。post 而且我不知道你的日期在数据库中的格式。然而,这是来自 here 的模板,请尝试根据这些内容调整您的代码。我大约 2 周前使用此模板完成了一个 DatePicker,并且运行良好。
<DatePicker
dateRender={current => {
const style = {};
if (current.date() === 1) {
style.border = '1px solid #1890ff';
style.borderRadius = '50%';
}
return (
<div className="ant-picker-cell-inner" style={style}>
{current.date()}
</div>
);
}}
/>
您可以看到多个 DatePickers here。希望对小伙伴有帮助
我在使用 react-datepicker 时有一个 React 表单,当我尝试填充来自数据库的日期字段的值时,我得到了无效时间值错误。
我尝试了几种时间格式,但都无济于事。下面是我的解决方案。
<DatePicker
className="createMeditation-input"
onChange={d => this.handleDateChange(d)}
selected={data.publishedDate}
autoComplete="off"
placeholderText="Please select a publish date"
id="DatePicker"
dateFormat="MMMM dd, yyyy"
disabled={uncontrolledFormState ? true : false}
/>
所选道具中的发布日期值为2020-12-31T23:00:00.000Z
问题似乎与日期格式有关,但我不知道选择的格式会接受什么。如果我的问题足够清楚,请告诉我。
希望您使用的是 this 日期选择器库中的日期选择器。
DatePicker 的 selected
属性似乎接受 Date 实例而不是 ISO 字符串。
尝试在将日期字符串传递给 prop 时将其转换为日期。
const selectedDate = new Date(data.publishedDate)
<DatePicker
className="createMeditation-input"
onChange={d => this.handleDateChange(d)}
selected={selectedDate}
autoComplete="off"
placeholderText="Please select a publish date"
id="DatePicker"
dateFormat="MMMM dd, yyyy"
disabled={uncontrolledFormState ? true : false}
/>
问题不是 100% 清楚,因为我不知道你是怎么做的。post 而且我不知道你的日期在数据库中的格式。然而,这是来自 here 的模板,请尝试根据这些内容调整您的代码。我大约 2 周前使用此模板完成了一个 DatePicker,并且运行良好。
<DatePicker
dateRender={current => {
const style = {};
if (current.date() === 1) {
style.border = '1px solid #1890ff';
style.borderRadius = '50%';
}
return (
<div className="ant-picker-cell-inner" style={style}>
{current.date()}
</div>
);
}}
/>
您可以看到多个 DatePickers here。希望对小伙伴有帮助