<div class="row" v-for="(address, i) in form.addresses_to" :key="i">
<!--begin::Col-->
<div class="d-flex col-12 justify-content-between mb-7">
<!--begin::Input group-->
<div class="flex-fill">
{{address}}
<!--begin::Select Picker-->
<SelectPicker :placeholder="'Выберите куда'" @select="selectAddressTo($event, i)"></SelectPicker>
<!--begin::Select Picker-->
</div>
<div class="w-50px"
@click="deleteAddress(i)"
role="button">
<i class="ki-duotone ki-cross fs-3x text-danger"
v-show="deleteButtonVisible">
<i class="path1"></i>
<i class="path2"></i>
</i>
</div>
<!--end::Input group-->
</div>
<!--end::Col-->
</div>
v-for="(address, i) in form.addresses_to" :key="i"
всегда удаляется последний
Vue использует алгоритм, который минимизирует перемещение элементов
this.todos.splice(0, 1);
<button v-on:click="delete1(i)">
delete1: function(i){
this.todos.splice(0, 1); // Измените splice(0, 1) таким образом, чтобы из массива удалялся элемент с индексом i
}