簡體   English   中英

如何在React中處理多種形式

[英]How to handle multiple forms in react

在此處輸入圖片說明

我的手風琴有7個步驟。 前6個步驟具有“ Next按鈕,最后一個步驟具有“ Process按鈕。 在手風琴上方有一個Save按鈕。

也可以隨時跳到任何手風琴步驟。

保存按鈕保存所有步驟的表單數據並檢查驗證。 每個步驟的“ 下一步”按鈕都會保存該特定表單數據並檢查驗證。 “處理”按鈕還提交所有步驟的表單數據並檢查驗證。

我已經嘗試過redux-form 但僅限於特定步驟。 保存按鈕單擊該怎么辦?

沙箱示例

您可以使用getFormNamesgetFormValuesisValid 選擇器來選擇表單狀態。

const mapStateToProps = state => {
  return {
    forms: getFormNames()(state).map(formName => ({
      formName,
      isValid: isValid(formName)(state),
      values: getFormValues(formName)(state),
      errors: getFormSyncErrors(formName)(state)
    }))
  };
};

提交功能:

submit() {
    const { dispatch, forms } = this.props;

    forms.forEach(({ formName, isValid, values, errors }) => {
      if (isValid) {
        console.log(values);
      } else {
        dispatch(touch(formName, ...Object.keys(errors)));
      }
    });
  }

更新的例子

暫無
暫無

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

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