如何在react native中以redux形式设置隐藏字段?
我jsut找不到任何方法如何做到这一点。有什么帮助吗?
答案 0 :(得分:8)
我结束了这个:
this.props.dispatch(change("FORM_NAME","FIELD_NAME","VALUE"))
运行此代码后,如果该字段不存在,表单将创建该字段
答案 1 :(得分:5)
我遇到了同样的问题。 我所做的是声明一个像这样的字段并将高度设置为0。 它有点hacky但它适用于我的情况。
<Field
component={TextInput}
name="departure_city_name"
type="hidden"
style={{ height: 0 }}
/>
我改变了这样的值:this.props.change("departure_city_name", cityData.name);
希望它有所帮助。
答案 2 :(得分:1)
只要您需要redux形式的隐藏字段,就不需要执行任何操作即可。
this.props.change('Field_name', value)
答案 3 :(得分:0)
通常,您不需要创建type = hidden字段,因为您可以从Redux表单包装的表单道具中调用change
函数,如果尚不存在,它将创建该字段并将其添加如果您要定义默认值,或者要确保该字段始终存在,则可以设置刚刚设置的语音,因此您需要设置默认值:
InitializeFromStateForm = reduxForm({
form: 'myForm'
})(InitializeFromStateForm)
InitializeFromStateForm = connect(
state => ({
initialValues: { areYouOk: 'no' }
})
)(InitializeFromStateForm)
export default InitializeFromStateForm
无论您是否设置了初始值,您都将始终能够使用新的隐藏值调用change函数,并且无论如何它都将起作用
let InitializeFromStateForm = ({ submitHandler, change }) => {
return (
<form onSubmit={submitHandler}>
<button
onClick={() => {
change('areYouOk', 'yes');
}}
label={'Yes'}
/>
</form>
);
}