Как правильно прописать v-model для многомерного массива данных в форме?

Каюсь, сдался, попробую здесь найти совет.

Переписываю с php на vue формы старого сайта. Модуль "график работы".
<div v-for="(city,index) in cities">
       <schedule
          :item="city"
          @form-saved="saveData">
      </schedule>
   </div>

в самой форме начинается мой треш( привычка работы с php и массивами.. в старой форме было так.
<?php foreach ($data['days'] as $key=>$day): ?>
            <label> <?php echo $day['rus']; ?>
            </label>
            <input type="text" name="<?php echo $day['eng'];?>[open]" value="" class="time_input">---
            <input type="text" name="<?php echo $day['eng'];?>[close]" value="" class="time_input"><span class="extra">примечание</span>
            <input type="text" name="<?php echo $day['eng'];?>[extra]" value=""><?php endforeach; ?>

и потом я это все через jquery сериализировал вроде бы.

Сейчас пытаюсь и так и эдак сформировать более-менее требуемый массив, но никак не получается привязать три поля ко дню недели и далее к городу.

<div v-for="(day,index) in days" :key="day.engname">
                <label class="block bg-academy text-white"> {{day.rus}} </label>
                    <input type="text" v-model="city.open[index]"  class="time_input">---
                    <input type="text" v-model="city.close[index]" class="time_input"><span class="extra">примечание</span>
                    <input type="text" v-model="city.extra[index]" >
               </div>


v-model="city.close[index]" я уже и через дни привязывать пытался. И так и эдак, но уже просто не соображаю видимо(

city:{
            id:this.item.id,
            open:[], //вот как сюда прикрутить дни недели?(
            close:[],
            extra:[]
        },

        days:[
            {rus:'Понедельник',
            engname:'monday',
            open:'', // это я привязывал к дням через v-model="days[index].open" но сюда никак город
            close:'',
            extra:''
            },
            {rus:'Вторник',
            engname:'tuesday',
             open:'',
            close:'',
            extra:''
            }
        ],


Сейчас на выходе такие данные получаю из формы.
"id": 1,
	"open": [
		"12-00", //это время понедельника
		"12-30" //это время вторника
	],
	"close": [
		"21-30",
		"22-00"
	],

а хотелось бы
id:1
monday: {
open: ...,
close:...,
}.
Никак я эти сложные формы не освою( посоветуйте, пожалуйста.
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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