Как отфильтровать поля, которые мы передаем методу onSubmit, из реагирующей формы - PullRequest
0 голосов
/ 12 февраля 2019
return (
    <Form onSubmit={handleSubmit}>
      <DialogTitle>
        {title}
      </DialogTitle>

      <DialogContent>
        <section className={classes.section}>
          <h1
            className={!switchField ? classes.activeColor : classes.inactiveColor}>{intl.formatMessage(messages.regDate)}</h1>
          <Field
            component={Switch}
            name='switchField'
            color='default'
            status={switchField}
          />
          <h2
            className={switchField ? classes.activeColor : classes.inactiveColor}>{intl.formatMessage(messages.lastLoginDate)}</h2>
        </section>
        {!switchField ? <div className={classes.switch}>
          <SelectedDate name={intl.formatMessage(messages.regDate)} />
        </div> : null}
        {switchField ? <div className={classes.switch}>
          <SelectedDate name={intl.formatMessage(messages.lastLoginDate)} />
        </div> : null}
        <div className={classes.root}>
          <Field
            component={TextField}
            label={intl.formatMessage(messages.id)}
            name='_id'
            validate={length({ min: 24, allowBlank: true })}
            className={classes.fieldStyle}
            variant='outlined'
            normalize={normalization}
          />
          <Field
            component={TextField}
            label={intl.formatMessage(messages.firstName)}
            name='firstName'
            validate={length({ min: 2, allowBlank: true })}
            className={classes.fieldStyle}
            variant='outlined'
            normalize={normalization}
          />
          <Field
            component={TextField}
            label={intl.formatMessage(messages.lastName)}
            name='lastName'
            validate={length({ min: 2, allowBlank: true })}
            className={classes.fieldStyle}
            variant='outlined'
            normalize={normalization}
          />
        </div>
        <div className={classes.root}>
          <Field
            component={TextField}
            label={intl.formatMessage(messages.email)}
            name='email'
            className={classes.fieldStyle}
            variant='outlined'
            normalize={normalization}
          />
          <Field
            component={TextField}
            label={intl.formatMessage(messages.role)}
            name='role'
            validate={length({ min: 2, allowBlank: true })}
            className={classes.fieldStyle}
            variant='outlined'
            normalize={normalization}
          />
          <Field
            component={TextField}
            label={intl.formatMessage(messages.status)}
            name='status'
            validate={length({ min: 2, allowBlank: true })}
            className={classes.fieldStyle}
            variant='outlined'
            normalize={normalization}
          />
        </div>
      </DialogContent>

      <DialogActions>
        {actions(props)}
      </DialogActions>
    </Form>
  )

У меня есть форма

export function getUsers (params) {
  return {
    types: [
      types.USERS_GET_REQUEST,
      types.USERS_GET_SUCCESS,
      types.USERS_GET_FAILURE
    ],
    payload: {
      request: {
        url: 'user',
        params
      }
    }
  }
}

Также у меня есть некоторая функция onSubmit

У меня много полей в форме, но для отправки запроса на сторону сервера сэти поля, которые я получу в качестве аргумента params мне не нужны, например switchField.Как я могу вырезать его оттуда, но сделать это вне функции getUser?Надеюсь, вопрос ясен, если что-то не ясно, пожалуйста, спросите меня

...