Как создать v-модель для массива объектов с несколькими полями

#vue.js #vuejs2

Вопрос:

Таким образом, у меня есть 2 входных флажка для каждого элемента в массиве. Первый представляет поле в форме, а второй представляет тот факт, требуется поле или нет, мне нужно построить и массив объектов, таких как

     [
     {
      name: 'fieldName',
      required: true
     },
     {
      name: 'anotherFieldName'
     }
    ]
 

Если установлен первый флажок, мне нужно добавить объект со свойством «имя» в свой массив, и если установлен второй флажок, мне также нужно добавить поле «требуется».

Комментарии:

1. Попробуйте использовать ключ, представляющий объект в v-for цикле

Ответ №1:

попробуйте это

   <li v-for="(item, index) of items"> 
      {{ item.prop2 }} 
      <input type="text" v-model="items[index].prop2">
   </li>
 

или

 <li v-for="(item, index) of items"> 
      {{ item.prop2 }} 
      <input type="text" @input="updateMyProp(index)">
</li>

   ...
   methods: {
     updateMyProp ($event, index) {
       // your update logic here
       // you can use 'this.items', Object.assign, Vue.set, etc... to update your value
     }
   ...