'Changes made to a computed array won't show after a prop binding

I'm quite new to vue and right now I'm trying to figure out how to make changes to a computed array and make an element react to this change. When I click the div element (code section 4), I want the div's background color to change. Below is my failed code.

Code section 1: This is my computed array.

computed: {
        arrayMake() {
            let used = [];
            for (let i = 0; i < 5; i++) {
                used.push({index: i, check: true});
            }
            return used;

Code section 2: This is where I send it as a prop to another component.

<test-block v-for="(obj, index) in arrayMake" v-bind:obj="obj" v-on:act="act(obj)"></card-block>

Code section 3: This is a method in the same component as code section 1 and 2.

methods: {
        act(obj){
            obj.check = true;
        }

Code section 4: Another component that uses the three sections above.

props: ["obj"],
    template: /*html*/`
 <div v-on:click="$emit('act')">
        <div v-bind:style="{ backgroundColor: obj.check? 'red': 'blue' }">
        </div>
    </div>


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source