Botón para eliminar elemento de un array en Vue
Hagamos un botón para eliminar reactivamente elementos de una lista. Empecemos con la implementación. Supongamos que tenemos el siguiente array:
data() {
return {
items: ['a', 'b', 'c', 'd', 'e'],
}
}
Mostremos el contenido del array en forma de lista:
<template>
<ul>
<li v-for="(item, index) in items" :key="index">
{{ item }}
</li>
</ul>
</template>
Hagamos en cada elemento de la lista un botón para eliminar. En este botón vincularemos un método, cuyo parámetro será el índice del elemento del array que vamos a eliminar:
<template>
<ul>
<li v-for="(item, index) in items" :key="index">
{{ item }}
<button @click="removeItem(index)">remove</button>
</li>
</ul>
</template>
Implementemos la eliminación en el método removeItem:
methods: {
removeItem: function(index) {
this.items.splice(index, 1);
}
}
Dado un array. Muestra los elementos de este array
en forma de lista ul. Haz que
al hacer clic en cualquier li esta se elimine
de la lista.