vue.js – The array change detection caveats – Using Array.prototype.splice

You can perform the same change instead of using Vue.$set by using the Array prototype’s splice()

new Vue({
    el: '#app',
    data:{
        myArr : ['apple', 'orange', 'banana', 'grapes']
    },
    methods:{
        changeArrayItem: function(){
            //this will not work
            //myArr[2] = 'strawberry';
            
            //Array.splice(index, 1, newValue)
            this.myArr.splice(2, 1, 'strawberry');
        }
    }
}) 

if you want to reproduce, please indicate the source:
vue.js – The array change detection caveats – Using Array.prototype.splice - CodeDay