в чём:
Есть форма, которая состоит из 5 шагов.
Каждый шаг показывается в зависимости от значения step, изначально он равен 1
На каждый шаг висит v-if
Данные на 4м шаге зависят от данных введенных на первых 3х шага.
Там улетает запрос на бэк, который отдаёт некие услуги. И вот когда переходишь на 5й шаг, там уже просто справочная информация, что пользователь ввел на всех предыдущих шагах.
И если с 5го шага вернуться на 4й, то запрос улетает заново на бэк и введенные данные не сохраняются, а перезаписываются, что логично. Снова отрисовывается компонент и т.д.
Так вот пока пришла идея такая
<step-order-five
v-if="step === 4 || step === 5"
v-show="step === 4"
>
</step-order-five>
Сильно говняно или сойдёт?
Короткий ответ - тупо. Немного деталей: Лучше на верхнем уровне делать одно, а на нижнем другое.
Полностью не прочитал ваш вопрос, но в любом случае гляньте <keep-alive> тег во вью
насколько я поняла вопрос, чтобы данные не затирались при переходе на предыдущий шаг, можно использовать store
Стоп тут по мне так избыточен) Хотя мы не знаем какая там ситуация)
данные перезаписываются, т.к. в created() висит функция на вызов api, которая делает запрос И вот из-за переходов между шагами компонент перерисовывается
Как выше сказали: используйте keep-alive и динамические компоненты.
буду пробовать спасибо
Так себе. Тебе надо с сторе хранить стейт о том, что пришло, что ушло и что на форме ввели.
Обсуждают сегодня