@r_g_b_a

Как задать видимость элементов?

Здравствуйте. В ответе на прошлый вопрос мне дали совет по генерации формы.
В data создай массив объектов, каждый из которых будет иметь label, type, value.
И выводи их циклом v-for.
v-model цепляй на value.
А по type можешь разные поля выводить. Например v-if="item.type === 'text'", тогда выводишь текстовый input.
v-if="item.type === 'select'", тогда select. И там же в объекте можешь хранить options.

Если я правильно понял, объект data будет примерно таким https://jsfiddle.net/p5h4kza9/ Но возникла сложность в том, чтобы задать условия, при которых будут выводиться определенные элементы. К примеру, как в данном примере сделать, чтобы поле text 1 выводилось только при выбранном radio 1, а секция 2 при radio 2?
Я бы мог написать v-if="demo[0].items[0].data === 'radio 1'", но данные могут измениться, как и индекс нужной ячейки массива, что приведет к неожиданному результату.
Также желательно сохранить структуру data, так как потом нужно будет вывести данные формы на странице вместе с заголовками секций примерно в таком виде
Текстовые поля
input 1 - тут значение value

Текстовые области
textarea 5 - тут значение value

Чекбокс
checkbox 3 - тут значение value

(ссылка на мой предыдущий вопрос), а так их получить не составит труда. Или дайте совет, если можно сделать лучше.
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы