Есть вот такой шаблон:
<q-banner v-for="(group, index) in groups" :key="index" class="bg-green-2 row q-my-md">
<q-btn color="primary" label="Remove group" @click="remove(index)" class="float-right"/>
<Group :initial="group" ref="groupsValue"/>
</q-banner>
при удалении из groups любого элемента Vue сократит размерность массива, но не перерендерит его. Это приводит к тому, что как будто бы удаляется всегда последний элемент. У меня в groups объекты, но какого-то id у них нет, поэтому использую index. Переменная groups объявлена как const groups = reactive(props.initial.groups).
Не используй индекс как ключ, если активно работаешь с массивом. Нет id у объекта - юзай uuid
спасибо :) хоть кто-то откликнулся :) в массиве будет максимум 10 элементов каждый из 2х инпутов. Меня более чем устроит, если будет весь компонент перерисовываться.
Обсуждают сегодня