如何解决React-Final-Form 隐藏字段值
我正在从 Redux-forms 过渡到 react-final-forms,但我无法弄清楚如何处理隐藏的表单值。在 redux-forms 我可以做类似的事情
this.props.change("createdBy",this.props.user.profile.username)
设置隐藏值,但该选项似乎不是 react-final-forms 中的选项(或者我错过了它)。
我认为我可以使用适用于新表单的 initialValues,但是如果我需要在初始表单中添加其他值,我会遇到麻烦。例如,
<Form
onSubmit={ this.onSubmit }
initialValues={
item
? item
: { createdBy: "Rachel",createdOn: new Date(),active: true }
}
render={({ handleSubmit,form,submitting,pristine,values }) => (
<form onSubmit={handleSubmit}>
...
项目可能看起来像:
{
code: "WTTC",description: "Welcome to the Club",active: true,createdBy: "Rachel",createdOn:"02/23/2021",modifiedBy: null,modifiedOn: null,}
因此,如果我使用上述项目设置表单的 initialValue,我还想设置用于处理 this.props.change("createdBy",this.props.user.profile.username)
的 modifiedBy 和 modifiedOn 值。
有什么建议吗?
解决方法
我根本不熟悉这个库,但从 JS 的角度来看,您可以通过操作 item
对象的初始值来实现它
initialValues={
item
? {...item,createdBy: this.props.user.profile.username,createdOn: new Date()}
: { createdBy: "Rachel",createdOn: new Date(),active: true }
}
,
<Field name="fieldName">
{({input}) => (
<div>
<div className="field-wrapper">
<input {...input} type="hidden" name="fieldName" value="1"/>
</div>
</div>
)}
</Field>
props.form.getFieldState('fieldName').change(value);
form 是来自
的最终形式的实例 <Form
onSubmit={onSubmit}
subscription={{ submitting: true }}
validate={validate}
initialValues={initValues}
render={({ handleSubmit,form,submitting,pristine,values }) => (
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。