Есть проблема, vue удаляет последний элемент массива, игнорируя указанный индекс, может я где-то допустил ошибку?
<div id="segment">
<button @click="add()">
Add
</button>
<div v-for="(item, index) in conditionList" v-bind:key="conditionList.id">
<select class="form-control" style="min-width: 175px;" v-model="selectField[index]">
<optgroup v-for="(category, key) in categories" :label="category" >
<template v-for="(labels, title) in nameFields">
<option v-for="(label, name) in labels"
:value="name"
v-if="title == key"
:disabled="selectField.includes(name)" >
{{label}}
</option>
</template>
</optgroup>
</select>
<button @click="conditionList.splice(index, 1)">
Delete
</button>
</div>
</div>
new Vue({
el: '#segment',
data: {
conditionList: [{
id: 1,
}, ],
nextId: 2,
selectField: [],
categories: {
"groups": "Группы",
"fields": "Поля",
"statistic": "Статистика"
},
nameFields: {
"groups": {
"groups": "Группы"
},
"fields": {
"email": "Email",
"name": "Имя",
"last_name": "Фамилия",
},
"statistic": {
"opens": "Открыли",
"transitions": "Переходы",
"sent": "Отправлено",
"mailing": "Рассылка"
}
},
},
methods: {
add: function() {
this.conditionList.push({
id: this.nextId++,
})
}
}
})