свойство push vue для объекта


свойство push vue для объекта

16.11.2020 02:21:57 Просмотров 4 Источник

У меня есть компонент, который должен поместить свойство в массив, это массив:

  [
    {
      date: "17/11/2020",
      dateTime: false,
      hour: "00",
      minute: "00",
    },
  ];

компонент имеет кнопку:

      <b-button
        class="p-0"
        variant="success"
        @click="addTime(array)"
      >
        + Add more times
      </b-button>

Я бы хотел, чтобы каждый щелчок по кнопке добавлял такое свойство "время", как это:

       [
         {
           date: "17/11/2020",
           dateTime: false,
           hour: "00",
           minute: "00",
           time: [
             {
               defaultDateStart: "08:00",
               defaultDateEnd: "00:00"
             },
             {
               defaultDateStart: "08:00",
               defaultDateEnd: "00:00"
             },
               //etc....
           ],
         },
       ];

Это возможно? я попытался использовать .push () в методе click, но он не работает...

У вопроса есть решение - Посмотреть?

Ответы - свойство push vue для объекта / vue push property on an object

Является ответом!
Fahad Subzwari

16.11.2020 02:37:08

Вы должны сделать свой объект таким

  let records = [
   {
    date: "17/11/2020",
    dateTime: false,
    hour: "00",
    minute: "00",
    time : []
   },
 ];

а в вашем funciton addTime вы можете сделать вот так

addTime(timeObject){
   // timeObject = {defaultDateStart: "08:00",defaultDateEnd: "00:00"} 
   records[0].time.push(timeObject)
}
Помочь в развитии проекта:
Закрыть X