javascript - 带有 react-redux 的日期选择器无法正常工作“预期的日期实例”
问题描述
我正在使用 redux-form react-datepicker 和 moment 创建一个表单,但日期格式出现错误。
它在日期选择器中显示多个错误和无效输入字段消息
这是我的表单实用程序:
import React from 'react'
import { Form, Label } from 'semantic-ui-react'
import DatePicker from 'react-datepicker'
import 'react-datepicker/dist/react-datepicker.css'
import moment from 'moment'
const DateInput = ({input, width, placeholder, meta: {touched, error}, ...rest}) => {
return(
<Form.Field error={touched && !!error} width={width}>
<DatePicker
{...rest}
placeholderText={placeholder}
selected={input.value ? moment(input.value) : null}
onChange={input.onChange}
/>
{touched && error && <Label basic color="red">{error}</Label>}
</Form.Field>
)
}
export default DateInput
并且组件导入使用 redux-form 字段
<Field
name="date"
type="text"
component={DateInput}
dateFormat="YYYY/MM/DD HH:mm"
timeFormat="HH:mm"
showTimeSelect
placeholder="Date and time of event"
/>
我已经使用 moment().format() 在 datepicker 字段上显示日期,但随后显示此错误:
提供给的预期实例的selected
类型无效道具。Moment
DatePicker
Date
解决方案
在定义的 propTypes 中,需要更改
selected: PropTypes.instanceOf(Date)
至
selected: PropTypes.instanceOf(Moment)
推荐阅读
- android - 如何同时清理多个android项目?
- python - 查找所有返回的空列表
- go - 为什么 Goroutine 可以在 Busy Loop 后被调度?
- ios - Question about view controller controlability under alert view in Swift
- arrays - 如何使用嵌套注释迭代 Angular 中的数组
- python-3.x - 如何使用蒙特卡罗方法模拟两个骰子
- c# - 如何在没有代理的情况下调用自托管 TCP 服务?
- javascript - 如何使用 AJAX JSON 将多个变量从 Javascript 传递到 PHP?
- c# - 如何使用 ASP.NET Core 依赖注入将 HttpMessageHandler 注入到 HttpClient 对象中?
- svelte - 苗条返回无效的数组长度