Removing array element from vue property caused a tricky anomaly for me. I was trying different methods delete didn't work, splice worked but always removed the last item from array. Finally I managed to find the right way to do it. The problem has to do with how vue manages properties/states. So this example shows how to avoid .splice() always removing the last item in Vue.
Source code viewer
<tr v-for="(row, index) in rows" :key="expense"> <td></td> <td></td> <td></td> <td class="has-text-right"><b-button type="is-danger" icon-right="delete" @click="RemoveRow(index)" /></td> </tr> <script lang="ts"> export default class NewClaimForm extends Vue { protected RemoveRow(index: number) { this.expenses.splice(index, 1); } } </script>Programming Language: ECMAScript