На основании того, что вы предоставили, похоже, что вы, возможно, работаете с родительским компонентом, который имеет список данных, и пытаетесь манипулировать дочерними элементами в дочерних компонентах.
В вашем коде вы делаете какой-то сложный код, по-видимому, чтобы найти индекс элемента, который вы редактируете (или пытаетесь удалить). Данные принадлежат родительскому компоненту, поэтому все, что вам нужно сделать, это уведомить родительский элемент о выполнении некоторой функции.
Этого легче всего достичь, предоставив индекс дочерним элементам при их создании и записав событие, генерируемое дочерним элементом - в родительском шаблоне ...
v-for="(item, index) in itemList" index="index" v-on:DeleteItem="deleteItem(index)"
Дочерний компонент выполняет следующие действия ...
$emit("DeleteItem", this.index)
и это весь код, который вам нужен. Не нужно создавать временный элемент, не нужно искать по всем элементам - просто попросите родителя удалить элемент с индексом n.
Тот же шаблон должен выполняться и для большинства других функций. При написании кода помните, что список данных принадлежит родительскому компоненту - вы не можете изменить его в дочернем элементе - т.е. вы не можете добавлять или удалять элементы из него в дочернем коде, все, что вы можете сделать, это уведомить это то, что вы хотите изменить его каким-то образом.
Ребенок может редактировать данные в элементе, потому что это не изменяет сам список.
Еще одна вещь, которая может помочь вам в том, что вы делаете, - это предоставить модель данных для ваших компонентов. В этом случае модель содержит данные, и все компоненты ссылаются на одну и ту же модель - это может устранить большую часть сложности решения проблем с родительскими / дочерними данными, поскольку все компоненты имеют равноправный доступ к одним и тем же данным.
Надеюсь, это поможет.