tav*_*ven 27 javascript reactjs redux redux-form
当我使用redux-formv7时,我发现没有办法设置字段值.现在在我form,我有两个select组件.当第一个select组件值发生变化时,第二个值将清晰.
在类渲染中:
<div className={classNames(style.line, style.largeLine)}>
<div className={style.lable}>site:</div>
<div className={style.content}>
<Field
name="site"
options={sites}
clearable={false}
component={this.renderSelectField}
validate={[required]}
/>
</div>
</div>
<div className={classNames(style.line, style.largeLine)}>
<div className={style.lable}>net:</div>
<div className={style.content}>
<Field
name="net"
options={nets}
clearable={false}
component={this.renderSelectField}
validate={[required]}
warning={warnings.net}
/>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
现在我添加select更改挂钩,如何更改其他select值
renderSelectField = props => {
const {
input,
type,
meta: { touched, error },
...others
} = props
const { onChange } = input
const _onChange = value => {
onChange(value)
this.handleSelectChange({ value, type: input.name })
}
return (
<CHSelect
error={touched && error}
{...input}
{...others}
onChange={_onChange}
onBlur={null}
/>
)
}
Run Code Online (Sandbox Code Playgroud)
Shu*_*tri 35
您可以使用onChange逻辑this.handleSelectChange({ value, type: input.name })并使用changeredux-form中的操作
根据文件:
change(field:String,value:any):Function
更改Redux存储中字段的值.这是一个绑定的动作创建者,因此它不返回任何内容.
码:
handleSelectChange = (value, type) => {
if(type === "site") {
this.props.change('net', "newValue");
}
}
const mapDispatchToProps = (dispatch) => {
return bindActionCreators({change}, dispatch);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28820 次 |
| 最近记录: |