Reactjs 尝试使用redux表单更新字段
我有以下字段Reactjs 尝试使用redux表单更新字段,reactjs,redux,redux-form,Reactjs,Redux,Redux Form,我有以下字段 import React, { Component } from 'react' import { Field } from 'redux-form' import RDateRangePicker from '../../../../components/RDateRangePicker/RDateRangePicker' export default class DateRange extends Component { constructor (props) {
import React, { Component } from 'react'
import { Field } from 'redux-form'
import RDateRangePicker from '../../../../components/RDateRangePicker/RDateRangePicker'
export default class DateRange extends Component {
constructor (props) {
super(props)
this.state = { dateRangeEmpty: true }
this.handleChange = this.handleChange.bind(this)
}
handleChange (event) {
this.setState({ dateRangeEmpty: true })
}
render () {
let cssClassName = this.state.dateRangeEmpty
? 'form-group has-feedback has-error' : 'form-group has-feedback has-error'
return (
<div className={cssClassName}>
<div className="col-sm-12">Date range:</div>
<div className="col-sm-12">
<Field name="dateRange"
component={RDateRangePicker}
className="form-control"
onChange={this.handleChange}
/>
</div>
</div>
)
}
}
您正在以不相关的方式使用字段,请参见您不能按原样在redux表单上使用自定义组件作为字段。你需要创造。在您的情况下,它看起来像这样:
const ReduxFormDateRangePicker = (props) => (
<RDateRangePicker
ranges={props.input.value}
onApply={value => props.input.onChange(value)}
/>
);
const ReduxFormDateRangePicker=(道具)=>(
props.input.onChange(值)}
/>
);
此外,在定义的字段上不需要onChange参数:
<Field name="dateRange"
component={RDateRangePicker}
className="form-control"
/>
根据shixukai的回答,onInputChange不是字段的有效道具。您可能需要在RDateRangePicker周围有一个包装器类。并在该包装类中将onInputChange设置为RDateRangePicker。尝试将onInputChange改为onChange。完成,但我不工作。请发布RDateRangePicker@luboskrnac完成!
<Field name="dateRange"
component={RDateRangePicker}
className="form-control"
/>