Две кнопки отправки в редукционной форме React - PullRequest
0 голосов
/ 17 декабря 2018

Прежде чем кто-то направит меня к другому сообщению или пометит это как «дубликат», я уже испробовал каждое найденное решение, но ничего не работает.Итак, надеюсь, кто-то может пролить некоторый свет на это, потому что я совершенно сбит с толку о том, как это сделать.

У меня есть избыточная форма в проекте Laravel / React, но мне также нужна дополнительная кнопкаas Отправить для сохранения формы на потом (т.е. часть заполнена).Оба атрибута onClick указывают на функцию handleSubmit в родительском компоненте, но различие в том, что флаг isDraft устанавливается по-разному в зависимости от того, какая кнопка использовалась для отправки.В настоящее время я получаю следующее: кнопка «Отправить» работает нормально, а кнопка «Сохранить на потом» ничего не делает.

Вот мои кнопки:

<Button
    disabled={ submitting }
    type="button"
    onClick={ () => handleSubmit(onSubmit) }>
    Submit Application
</Button>

<Button
    disabled={ submitting }
    type="button"
    onClick={ () => handleSubmit(onSaveForLater) }>
    Save for Later
</Button>

Вот урезанная версия модуля.включены в родительский компонент:

<MyForm
    initialValues={ application }
    isSaving={ this.state.isSaving }
    onSubmit={ (params) => this._onSubmit(params) }
    onSaveForLater={ (params) => this._onSaveForLater(params) }
/>

Функции _onSubmit() и _onSaveForLater() практически одинаковы (они просто вызывают функцию сохранения в репо), за исключением того, что другое значение для isDraftпередается в параметрах каждый раз.

const mergedParams = {
    ...params,
    isDraft: true,
    id: this.props.params.id
};

Как я уже сказал, нажатие кнопки «Отправить» работает нормально, но кнопка «Сохранить на потом» ничего не делает.Есть что-то, чего я здесь не хватаетЯ не эксперт в редукционной форме и не могу найти окончательного решения - это вообще возможно?

...