C3DynamicForm: wizard

Режим формы

Форма со шагами

Что покупаем

Название товара и количество обязательны

Навигация извне (defineExpose)

Активный шаг: 0. Переход вперёд через API тоже валидирует текущий шаг, назад — всегда разрешён.

Журнал событий

—

—

Входные параметры

Wizard — это тот же C3DynamicForm с schema.mode = 'wizard' и заполненными schema.steps. Полный список пропсов формы — на странице dynamic-demo, здесь только то, что касается шагов:

Ключ схемыТипОписание
mode'single' | 'wizard'Режим; шаги работают только в wizard
stepsC3FormStep[]Шаги мастера по порядку
steps[].idstringИдентификатор шага, используется в validateStep()
steps[].labelstringПодпись в навигации по шагам
steps[].groupC3FormGroupГруппа полей шага: сетка, описания, условия и справочники — как в обычной форме
settings.submitLabelstringТекст кнопки на последнем шаге

События

СобытиеPayloadКогда
stepChange{ from, to }После успешного перехода; вперёд — только без ошибок текущего шага
invalidRecord<string, string | boolean>Отказ в переходе вперёд или ошибка при отправке
submit{ event, form, valid: true }Последний шаг прошёл проверку
reset—Сброс: данные и шаг возвращаются к началу

Описание

Компонент разбивает форму на шаги и показывает по одному. Навигация — собственная: кнопки «Назад»/«Далее» и переход по клику на шаге. Переход вперёд сначала проверяет текущий шаг, и если есть ошибки, остаётся на месте и испускает invalid. На последнем шаге кнопка отправки собирает данные со всех шагов и испускает submit.

Дополнительная информация

  • Через ref доступны currentStepIndex, goToStep(index), nextStep(), prevStep(), а также validateStep(id), validate(), collect(), reset(), submit().
  • goToStep и nextStep возвращают промис с признаком успешного перехода — переход вперёд извне валидируется так же, как по кнопке.
  • hideActions убирает штатные кнопки; тогда C3DynamicForm остаётся без навигации, и её строят сами через actions-слот или внешний API.
  • Данные всех шагов копятся в одном объекте v-model — поля с одинаковыми name на разных шагах перезапишут друг друга.
  • Скрытые visibleIf поля не участвуют в проверке шага и не попадают в собираемый payload.
×