簡體   English   中英

React-Final-Form 隱藏字段值

[英]React-Final-Form hidden field values

我正在從 Redux-forms 過渡到 react-final-forms,我無法弄清楚如何處理隱藏的表單值。 在 redux-forms 中,我可以執行類似this.props.change("createdBy", this.props.user.profile.username)的操作來設置隱藏值,但該選項似乎不是 react-final 中的選項-forms(或者我錯過了它)。

我認為我可以使用在新 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 的角度來看,您可以通過操作 object 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 }) => (

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM