есть массив
meta: [
{ name: "surname", title: "Фамилия", type: "text" },
{ name: "name", title: "Имя", type: "text" },
{ name: "secondName", title: "Отчество", type: "text" },
{ name: "phone", title: "Телефон", type: "text" },
{ name: "phone2", title: "Телефон", type: "text" },
],
- есть объект
contact { "name": "Test", "surname": "FirstFamily", "phone": 21254 }
Как сделать, чтобы при формировании компонента в инпуты писало данные только те, что есть в contact - сделал.
Но как сделать, чтобы при нажатии кнопки (добавить) он остальные инпуты, которых нет в contact, формировал и показывал на странице?
Т.е. так чтобы уже существующие инпуты не формировал.
P.S. на срине выводит все инпуты, которые прописаны в meta, т.к. отключил ограничение вывода пустых
Если я правильно понял суть вопроса, то решить можно несколькими способами. Например, можно создать новый объект contact в который добавить все свойства из meta. И свойства, которые отсутствовали в начальном объекте contact, уже инициализировать. А можно в computed сделать новый массив, который будет содержать { name: "surname", title: "Фамилия", type: "text", value: "FirstFamily" }.
Про первый я тоже так думал, но не понимаю как это в коде реализоать - над такой реализацией как раз и бью голову об стол 2 дня:) Если второй способ, то как реактивность реализовать не понимаю.
Покажи, что в <script>.
это получится, что в currentData запишутся данные, которые передались пропом, так?
ввел код, поправил кое-какие вещи у себя, чтобы не конфликтовало, но в итоге так и не понял, как это помогает вывести то, что требуется, а именно незадействованные ключи в meta по нажатию кнопки "добавить". т.е. при маунте получаю currentData : { "0": "", "1": "", "2": "", "3": "", "4": "", "5": "", "6": "" }, а должно быть тогда currentData: { "name": "Test", "surname": "FirstFamily", "phone": 21254 , "phone2": "", "address" : "", "email" : "" ......}, чтобы можно было ввести условие, например if (currentData[key] != null) показать оставшиеся поля из this.meta
Обсуждают сегодня